Команды Linux · 2 min read · Sep 15, 2025
Команда whereis в Linux: объяснение для начинающих (5 примеров)
Иногда, работая в командной строке, нам нужно быстро узнать местоположение бинарного файла для команды. Да, команда find является вариантом в этом случае, но она занимает немного времени и, вероятно, даст некоторые нежелательные результаты. Существует специальная команда, предназначенная для этой цели: whereis.
В этой статье мы обсудим основы этой команды, используя несколько простых для понимания примеров. Но прежде чем мы это сделаем, стоит упомянуть, что все примеры в этом руководстве были протестированы на Ubuntu 16.04LTS.
Команда whereis в Linux
Команда whereis позволяет пользователям находить бинарные, исходные и справочные файлы для команды. Вот ее синтаксис:
whereis [options] [-BMS directory... -f] name...А вот как страница man инструмента объясняет это:
whereis locates the binary, source and manual files for the specified command names. The supplied
names are first stripped of leading pathname components and any (single) trailing extension of the
form .ext (for example: .c) Prefixes of s. resulting from use of source code control are also dealt
with. whereis then attempts to locate the desired program in the standard Linux places, and in the
places specified by $PATH and $MANPATH.Следующие примеры в формате вопрос-ответ должны дать вам хорошее представление о том, как работает команда whereis.
Вопрос 1. Как найти местоположение бинарного файла с помощью whereis?
Предположим, вы хотите найти местоположение, скажем, самой команды whereis. Тогда вот как вы можете это сделать:
whereis whereisОбратите внимание, что первый путь в выводе — это то, что вы ищете. Команда whereis также выдает пути для справочных страниц и исходного кода (если доступно, что в данном случае не так). Таким образом, второй путь, который вы видите в выводе выше, — это путь к справочному файлу(ам) whereis.
Вопрос 2. Как конкретно искать бинарные файлы, справки или исходный код?
Если вы хотите искать конкретно бинарные файлы, то вы можете использовать командный параметр -b. Например:
whereis -b cpАналогично, параметры -m и -s используются в случае, если вы хотите найти справки и исходники.
Вопрос 3. Как ограничить поиск whereis в соответствии с требованиями?
По умолчанию whereis пытается найти файлы из жестко закодированных путей, которые определены с помощью шаблонов glob. Однако, если вы хотите, вы можете ограничить поиск с помощью конкретных командных параметров. Например, если вы хотите, чтобы whereis искал только бинарные файлы в /usr/bin, вы можете сделать это с помощью командного параметра -B.
whereis -B /usr/bin/ -f cp*Примечание: Поскольку вы можете передавать несколько путей таким образом, командный параметр -f завершает список директорий и сигнализирует о начале имен файлов.*
Аналогично, если вы хотите ограничить поиск справок или исходников, вы можете использовать командные параметры -M и -S.
Вопрос 4. Как увидеть пути, которые whereis использует для поиска?
Для этого также есть параметр. Просто выполните команду с -l.
whereis -lВот список (частичный), который он для нас сгенерировал:

Вопрос 5. Как найти имена команд с необычными записями?
Для whereis команда становится необычной, если у нее нет только одной записи каждого явно запрашиваемого типа. Например, команды без доступной документации или те, у которых документация находится в нескольких местах, считаются необычными. Командный параметр -u, при использовании, заставляет whereis показывать имена команд, которые имеют необычные записи.
Например, следующая команда должна отобразить файлы в текущем каталоге, у которых нет файла документации или более одного.
whereis -m -u *Заключение
Согласен, whereis не является той командной строкой, которая вам понадобится очень часто. Но когда возникает такая ситуация, она определенно упрощает вашу жизнь. Мы рассмотрели некоторые важные командные параметры, которые предлагает инструмент, так что обязательно практикуйтесь с ними. Для получения дополнительной информации перейдите на страницу man.
Get new posts in your inbox
No spam. Unsubscribe anytime.