Знакомство с использованием команды "whereis" в Linux и BSD, с примерами

Знакомство с использованием команды "whereis" в Linux и BSD, с примерами

12.12.2023
Автор: HostZealot Team
2 мин.
416

Прежде чем перейти к рассмотрению практических примеров, необходимо понять, что такое команда "whereis" и чем она может быть полезна. Команда "whereis" в Linux используется для поиска бинарных файлов, исходного кода и страниц руководства к команде. Она ищет файлы в каталоге, что делает ее более быстрой по сравнению с другими командами, такими как "find".

Обзор команды "whereis"

Команда "whereis" - это поисковый инструмент, предназначенный специально для поиска бинарных файлов, файлов исходных текстов и страниц руководства. В отличие от поисковых инструментов общего назначения, "whereis" работает с предопределенным набором каталогов, обычно используемых для хранения командных файлов. Эта особенность дает "whereis" преимущество в скорости и точности.

Понимание расположения командных файлов полезно в следующих сценариях:

  • Устранение неполадок. Знание местоположения двоичных или исходных файлов команды может помочь выявить проблемы.
  • Написание сценариев. При написании сценариев, особенно предназначенных для работы на различных системах, важно указывать правильный путь к команде.
  • Системное администрирование. Администраторам часто требуется проверить, установлены ли определенные утилиты или их версии. По расположению программы иногда можно определить ее версию или способ установки.

Хотя специальные команды, такие как "find", предоставляют более широкие возможности поиска, они сканируют всю файловую систему (или указанный каталог). Для сравнения, команда "whereis" в Linux ограничивает поиск заранее определенным списком каталогов, в которых, как известно, содержатся исполняемые файлы команд, исходные файлы и страницы руководства. Такой подход значительно сокращает время поиска, особенно на больших файловых системах.

Как использовать команду "whereis" в Linux

Основной синтаксис команды в Linux следующий:

whereis [options] file_name

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

whereis ls

Результат выполнения приведенной выше команды может выглядеть примерно так:

ls: /bin/ls /usr/share/man/man1/ls.1.gz

Поиск местоположения бинарного файла

Если вам необходимо определить местоположение бинарного файла Linux, вы можете воспользоваться командой "-b":

whereis -b whereis
whereis: /usr/bin/whereis /usr/bin/X11/whereis

Указанная команда определяет местонахождение бинарного файла команды "whereis" и указывает местоположение этой команды в системе Linux.

Поиск страниц руководства

Для поиска страниц руководства используется команда "-m":

whereis -m whereis.
whereis: /usr/share/man/man1/whereis.1.gz

Она работает аналогично поиску бинарных файлов и указывает путь к странице руководства в системе Linux.

Примеры использования "whereis" в BSD-системах

1. Команды в FreeBSD

С помощью whereis можно также осуществлять поиск по нескольким пунктам одновременно. Вот пример для bash и nano:

whereis bash nano
bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz
nano: /usr/bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz

В примере с nano поиск бинарных файлов можно осуществляется следующим образом:

whereis -b nano nano: /usr/bin/nano /usr/share/nano

А для man-страниц nano:

whereis -m nano nano: /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz

Опционально можно искать сразу несколько вещей, например, бинарники firefox и nano, а также страницы руководства bash:

whereis -bm nano firefox -m bash

nano: /usr/bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz firefox-m:

bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz

2. Библиотеки в OpenBSD

Допустим, вы хотите увидеть все местоположения. Опция "-l" выдаст вам все доступные пути в следующем виде:

whereis -l
bin: /usr/bin
bin: /usr/sbin
bin: /usr/lib
bin: /usr/lib64
bin: /etc bin: /usr/games
bin: /usr/local/bin
bin: /usr/local/sbin
bin: /usr/local/etc
bin: /usr/local/lib
bin: /usr/local/game

Таким образом, команда "whereis" дает несколько результатов местоположений, включая библиотеки.

Советы и рекомендации по эффективному использованию "whereis"

Вот список опций "whereis", которые можно использовать для быстрого поиска:

-b
Бинарные файлы
-s
Источники
-m
Руководство
-u
Необычные запросы (если в команде имеется только один запрос нужного типа).
-B (list)
Ограничение места поиска бинарных файлов.
-S (list)
Ограничение места поиска источников.
-M (list)
Ограничение места поиска страниц руководства и документации.
-f
Поиск имен файлов. (Команда должна использоваться с любыми опциями -B, -S или -M).
-l
Перечень всех путей поиска.
# VPS Поделиться:
Статьи по Теме