Команда whereis в Linux

Команда whereis — это сервисная утилита, которая не имеет графического интерфейса, работает в терминале и полезна в случаях, когда нужно узнать место расположения бинарных или исходных файлов на компьютере.

Она же поможет найти мануалы по выполнению тех или иных команд. Команда whereis linux входит в пакет util-linux. давайте сначала рассмотрим её синтаксис.

Синтаксис whereis

Чтобы воспользоваться возможностями whereis нужно записывать команды следующим образом:

whereis опции имя_программы

Если слово для поиска указывать обязательно, то без перечисления опций можно обойтись. В этом случае поиск будет происходить во всех трех типах файлов — и в бинарных, и в исходных, и в мануалах.

Опции whereis

Вот основные опции whereis:

  • -b - поиск бинарных файлов.
  • -B <папки> - ведет поиск исключительно в указанных пользователем директориях.
    -m - поиск мануалов.
  • -M <папки> - ищет справочные файлы в тех директориях, которые выбрал пользователь.
    -s - поиск исходников.
  • -S <папки> - будет искать исходные файлы только там, где нужно пользователю
  • -u - запрашивает вывод тех команд, у которых отсутствует указанный тип файлов либо имеется в наличии два и больше таковых. К примеру, whereis -m -u* пригодится для поиска команд без мануала или с двумя мануалами.
  • -f - должна завершать перечень директорий, поскольку сигнализирует о том, что набор символов, идущий сразу после нее, является названием файла.
  • -l - показывает каталоги, в которых по умолчанию происходит поиск.

Вместо <папки> следует прописывать путь к требуемой директории.

Примеры использования

Если пользователь не задает директории, в которых он хотел бы проводить поиск файлов той или иной программы, утилита пользуется списками каталогов, которые установлены в ней по дефолту. Просмотреть их перечень можно так:

whereis -l

Чтобы получить всю информацию о конкретной команде (в нашем случае - bash), нужно набрать в терминале

whereis bash

На скриншоте можно увидеть как выглядит вывод, если команда существует в системе:

  • bash: - это название искомой команды;
  • /bin/bash - адрес, по которому лежит двоичный файл;
  • /etc/bash.bashrc - конфигурационный файл;
  • /usr/share/man/man1/bash.1.gz - мануал.

Если команда по какой-либо причине не существует, в выводе появится только ее название.

Нужно получить информацию о нескольких командах? Нет нужды отдельно прописывать строку поиска для каждой из них. Можно перечислить все названия через пробел, как здесь:

whereis netcat uptime

На скриншоте видно, что данные о каждой команде выводятся с новой строки. Для поиска исходных файлов достаточно напечатать

whereis -s kword

Вместо kword может быть название любой другой программы или команды. Если исходные файлы будут обнаружены, whereis сообщит об их месте расположения. Поиск мануалов происходит так:

whereis -m lmms

Как и в предыдущем случае, lmms использовано для примера. На этом месте может быть название любой другой команды или программы.

Для поиска информации в определенных директориях с помощью опций -S, -M, -B следует прописывать путь к требуемому каталогу и не забывать об опции -f перед названием команды, об которой будете искать информацию. К примеру, чтобы найти бинарный файл команды cp в каталоге /bin нужно ввести в терминале:

whereis -b -B /bin -f cp

Воспользовавшись опцией -u, легко найти все необычные записи (то есть, команды или программы, у которых нет бинарного или исходного файла, мануала; а также те, у которых таких файлов два и больше). Вот пример для поиска всех бинарных файлов в директории /bin, которые соответствуют упомянутым характеристикам:

cd /bin
whereis -m -u *

Звездочка в качестве маски указывает на то, что будут отображены все имеющиеся файлы, подходящие под запрос.

Выводы

Теперь вы точно знаете как использовать утилиту whereis linux для получения информации о месте нахождения тех или иных файлов — бинарных, исходных или справочных. Если у вас есть что сказать в дополнение к выше изложенному, также не забудьте написать комментарий.

6 комментариев

  1. rob Октябрь 9, 2019 Ответить
    • losst Октябрь 10, 2019 Ответить
  2. Shaman Октябрь 9, 2019 Ответить
    • Михаил Октябрь 9, 2019 Ответить
      • losst Октябрь 10, 2019 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: