Примеры параметров для bash cd, например: cd -Pe @ $ directory

Я сомневаюсь, что мы когда-нибудь сможем сказать вам, где он был, но вы можете просто переустановить его с помощью yum .

yum переустановить man

yum не проверяет, существуют ли файлы при запуске yum install , он просто проверяет базу данных, в которой установлены пакеты. Если кто-то удалит все файлы вне диспетчера пакетов, он не узнает (вы можете заставить его проверить, но по умолчанию это не так). Использование yum install указывает ему выполнить установку, даже если он думает, что пакет уже существует.

В зависимости от того, что было удалено или удалено, вам может потребоваться yum переустановить ... другие вещи, например страницы руководства .

Обновлено в свете новой информации:

По какой-то причине ваш / usr / bin / man представляет собой каталог, а не отдельный файл, и, судя по содержимому, похоже, что у кого-то есть сделал что-то странное, например mv / usr / share / man / usr / bin или что-то странное.

Вы не сможете просто отменить это - вам нужно исследовать, посмотреть, что было сломано или перемещено, и исправить это.

Вы можете просто удалить / usr / bin / man и его содержимое, а затем переустановить man и страницы руководства. с использованием yum , но без дальнейшего исследования это не будет ясно.

4
07.04.2017, 17:27
1 ответ

Руководство по Bash дает немного больше деталей.

  1. cd -P гарантирует, что в итоге вы получите "настоящий" путь:

    $ cd /tmp
    $ mkdir -p a/b
    $ ln -s a/b b
    $ cd b
    $ pwd
    /tmp/b
    $ cd -P ../b
    $ pwd
    /tmp/a/b
    

    Использование -P означает, что симлинк с b на a/b разыменован. Взаимодействие с ... заключается в том, что ... обычно обрабатывается путем удаления предыдущего компонента пути, если он есть; а не путем проверки пути на диске. Если вы используете много симлинков, это может привести к путанице.

  2. cd -L эквивалентен стандартному cd.

  3. Текущий рабочий каталог не может быть определен, если он был удален:

    $ cd /tmp
    $ mkdir -p c/d
    $ cd c/d
    $ rmdir ../d ../../c
    $ cd ...; echo $?
    cd: ошибка при получении текущего каталога: getcwd: невозможно получить доступ к родительским каталогам: Нет такого файла или каталога
    0
    

    v.

    $ cd -Pe ...; echo $?
    cd: ошибка при получении текущего каталога: getcwd: невозможно получить доступ к родительским каталогам: Нет такого файла или каталога
    1
    
  4. В этом я не уверен (я могу представить, как это будет выглядеть, но Bash просто говорит "cd: -@: invalid option"; у меня сложилось впечатление, что сейчас это доступно только на Solaris, там нужен O_XATTR).

5
27.01.2020, 20:57

Теги

Похожие вопросы