Команда 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 для получения информации о месте нахождения тех или иных файлов — бинарных, исходных или справочных. Если у вас есть что сказать в дополнение к выше изложенному, также не забудьте написать комментарий.
А есть что-нибудь в стиле
1)наиболее используемые команды в линукс
2)наиболее полезные
Есть: https://losst.pro/42-komandy-linux-kotorye-vy-dolzhny-znat
Вбивайте в своей Бубунте такую команду:
dpkg -L coreutils | grep man
В Федоре:
rpm -ql coreutils | grep man
coreutils - пакет, который содержит низкоуровневые системные утилиты, предложенная команда выдаёт список мануалов на эти утилиты. Есть ещё пакет util-linux список манов можно посмотреть аналогичной командой.
Выбираете из списка нужный и вбиваете например:
man whereis
И тогда вам не нужно будет ходить в Интернет, а почитав маны, за полгодика подтянете свой уровень до желаемого и придёте сюда учить неучей. Любой дистрибутив Linux имеет в своём составе море документации, нужно только научиться её находить и ей пользоваться, и тогда походы на подобные сайты станут неинтересны.
/etc/bash.bashrc какая ссылка на какой исходный файл? Автор вообще в курсе что это такое?
Буду с нетерпением ждать от автора статью про /dev/null
Тонко, а то ересь одна. Вот про нет инстал статью киньне той же Федоры гнилой, Хрен ее поставишь, или Маньяру архитект. Тоже геморрой. Я то разобрался, а другие кто Ваш сайт читает.
Для них netinst - слишком сложно, нет у них человека, который мог бы такую статью адекватно потянуть. Если хочешь, могу дать место на своём сайте. Заведёшь блог, опишешь Fedora netinstall для других. Составим конкуренцию losst? Только без рекламы... На альтруизме и человеколюбии.