Вы когда-нибудь пытались найти расположение команды, программы или приложения, но не знали, где искать? Наилучшим методом поиска программ является команда whereis.
Согласно man-страницам, «whereis находит двоичные файлы, исходные файлы и файлы руководства для указанных имен команд. Предоставленные имена сначала удаляются из начальных компонентов имени пути и любого (одного) конечного расширения … Whereis затем пытается найти указанная требуемая программа в стандартных местах Linux и в местах, указанных в $ PATH и $ MANPATH. «
Следовательно, по сути, команда whereis может найти исходный код, руководства и местоположение программы.
Как найти программу с помощью Whereis
Давайте попробуем это с telnet:
где телнет
Вывод вышеуказанной команды выглядит следующим образом:
telnet: / usr / bin / telnet /urs/bin/telnet.netkit ...
Если вы просто хотите найти местоположение программы, вы можете использовать ключ -b следующим образом:
где -b телнет
Это возвращает следующий результат:
telnet: / usr / bin / telnet /usr/bin/telnet.netkit ...
В качестве альтернативы, если вы просто хотите узнать расположение руководств, вы можете использовать ключ -m.
где -m телнет
Результат для вышеуказанной команды следующий:
telnet: /usr/share/man/man1/telnet.1.gz
Наконец, вы можете ограничить поиск только исходным кодом, используя ключ -s. Однако в некоторых случаях исходный код недоступен, в котором возвращается пустая строка.
Для команды whereis доступны другие параметры, включая -u, который ищет необычные файлы.
В руководстве сказано следующее о ключе -u:
Команда называется необычной, если в ней нет только одной записи каждого явно запрошенного типа. Таким образом, ‘whereis -m -u *’ запрашивает те файлы в текущем каталоге, у которых нет файла документации, или более одного.
По сути, если в вашей системе находится более одного руководства или программа, которую вы запускаете, появляется в нескольких местах, она будет возвращена.
Другие переключатели Whereis
Если у вас есть расплывчатое представление о расположении программы или команды и вы хотите искать определенный набор каталогов, вы можете использовать ключ -B для поиска двоичных файлов в указанном списке.
Например:
где -b -B / usr / bin -f telnet
Приведенная выше команда имеет несколько частей. Прежде всего, есть ключ -b, который означает, что мы ищем только двоичные файлы (сами программы). Ключ -B используется для предоставления списка мест для поиска двоичных файлов, а список папок заканчивается параметром -f. Поэтому в приведенной выше команде единственный каталог, который ищется — это / usr / bin. Наконец, телнет после -f сообщает, что он ищет.
Альтернативой ключу -B является -M, который ищет руководства в определенном наборе папок.
Командная строка для ключа -M будет выглядеть следующим образом:
где -m -M / usr / share / man / man1 -f telnet
Логика для -M такая же, как и для -B. -M сообщает, где искать руководства, -M сообщает, что идет список папок, в которых следует искать руководства. -F завершает список файлов, а telnet — это программа, для которой команда whereis будет искать руководства.
Наконец, ключ -S может использоваться для вывода списка папок для поиска исходного кода.