Команда whereis в Linux с примерами

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

Содержание

Linux

Понимание команды whereis

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

Что такое whereis?

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

Почему whereis быстрее других утилит?

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

Значение whereis

Понимание местоположения командных файлов - это не просто вопрос удобства. Часто это необходимо для:

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

Основы команды whereis

Основная структура команды whereis такова:

Например, для поиска бинарных файлов, исходных текстов и man-страниц для команды ls:

Это может дать результат, подобный следующему:

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

Определение местоположения системных утилит

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

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

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

Поиск утилит для работы с базами данных

Для администраторов баз данных такие утилиты, как mysqldump, являются незаменимыми. Чтобы узнать, где находится mysqldump, выполните следующие действия:

В терминале может появиться сообщение:

Этот результат позволяет получить как двоичный файл, так и страницу руководства для mysqldump, что облегчает его использование и понимание.

Поиск сетевых инструментов

Сетевые инструменты, такие как netstat, отображающий сетевые соединения, имеют неоценимое значение для поиска и устранения неисправностей. Чтобы найти все компоненты, связанные с netstat:

Это может дать результат:

Эта команда показывает местоположение двоичного файла netstat и соответствующую страницу руководства, что позволяет получить представление о его использовании и возможностях.

Поиск команд обработки текста

Такие команды, как awk, инструмент обработки текста, являются основными для многих задач Linux. Чтобы определить, где находится awk и связанные с ним файлы, выполните команду

В результате можно получить:

Этот вывод дает наглядное представление как о бинарном файле команды awk, так и о странице ее руководства, что облегчает как ее применение, так и понимание.

Определение местоположения средств разработки

Для разработчиков такие инструменты, как gcc, коллекция компиляторов GNU, являются основополагающими. Чтобы узнать, где находится gcc, выполните команду

В терминале может появиться сообщение:

Этот результат указывает не только местоположение бинарного файла, но и другие связанные с ним каталоги, а также страницу руководства по gcc, что дает целостное представление о присутствии компилятора в системе.

Определение местоположения инструментов сжатия

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

Выполнение этого запроса может дать результат:

Этот результат показывает расположение двоичных файлов и страницу руководства для tar, давая представление о его функциональных возможностях и опциях.

Поиск мультимедийных инструментов

Для любителей мультимедиа и профессионалов такие инструменты, как ffmpeg, являются незаменимыми. Чтобы узнать, где находится ffmpeg и связанные с ним файлы, выполните следующие действия:

В терминале может появиться сообщение:

Этот результат позволяет получить полное представление о бинарном файле программы ffmpeg и связанной с ним странице руководства, что способствует ее эффективному использованию.

Поиск утилит управления дисками

Утилиты управления дисками, такие как fdisk, занимающаяся разбиением диска на разделы, очень важны для настройки и обслуживания системы. Чтобы найти все компоненты, связанные с fdisk:

В результате может получиться:

Эта команда позволяет найти местоположение утилиты fdisk и страницу ее руководства, где описаны различные возможности и сценарии использования.

Поиск только двоичных файлов

При работе с Linux иногда требуется знать, где находится только исполняемый двоичный файл команды, особенно если вы пытаетесь выполнить ее из скриптов или других программ. Для этой цели предназначена опция -b в whereis.

Выполнение этой команды может дать результат:

В этом выводе опция -b направила whereis на отображение только местоположения бинарного файла. Результат показывает, что двоичный файл для команды ls находится в каталоге /bin. Этот путь очень важен, поскольку в каталоге /bin обычно содержатся двоичные файлы фундаментальных команд, необходимых для выполнения основных операций системы.

Поиск только исходных файлов

Для разработчиков или тех, кто хочет изменить или понять принцип работы команды, исходные файлы имеют неоценимое значение. Опция -s помогает найти эти файлы.

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

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

Страницы руководства или "man-страницы" - это встроенная документация по командам Linux. Они содержат подробное описание команды, ее опций и примеры использования. Если Вы хотите найти страницы руководства по команде, то лучше всего использовать опцию -m.

Эта команда может выдать:

Этот результат показывает расположение страницы руководства для команды ls. Обычно страницы руководства сжимаются и хранятся в каталоге /usr/share/man/, разбитые на разделы.

Поиск файлов для нескольких команд

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

При выполнении этой команды будут показаны местоположения двоичных файлов, исходных текстов и man-страниц для команд ls и pwd. Такой многокомандный поиск позволяет сэкономить время и получить сводное представление о запрашиваемых командах.

Исключение определенных типов файлов

Бывают ситуации, когда вас интересует все о команде, кроме определенного типа файлов. Например, вы хотите знать о команде ls, но не интересуетесь ее двоичным файлом. Команда whereis позволяет исключить определенные типы файлов.

Выполнение этой команды выведет исходные файлы и man-страницы для команды ls, но намеренно исключит двоичные файлы. Такой выборочный поиск может быть особенно полезен при работе с документацией или анализе исходного кода.

Расширенные возможности использования и советы

Отображение всех местоположений

По умолчанию whereis может показывать не все возможные местоположения, особенно при наличии нескольких совпадений. Чтобы убедиться, что вы видите все возможные местоположения, используйте опцию -l:

Выполнение этой команды позволяет получить полный список местоположений, связанных с командой ls. Это может быть особенно полезно, когда вы пытаетесь понять, где может находиться команда, особенно если существует несколько ее версий или экземпляров.

Понимание отсутствия вывода

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

Использование whereis с дикими символами

Подстановочные знаки могут стать мощным союзником whereis, особенно если вы не уверены в полном имени команды или ищете семейство команд. Например:

Эта команда может вернуть расположение команд ls, lsblk, lscpu и других, в зависимости от того, что установлено в вашей системе. Это быстрый способ поиска родственных команд или инструментов.

Ограничение пути поиска

По умолчанию whereis выполняет поиск в стандартных каталогах. Однако в сложных сценариях, особенно при работе с пользовательскими установками или конкретными версиями, может потребоваться ограничить поиск определенными каталогами. Опции -B, -S и -M позволяют это сделать:

Эта команда ограничивает поиск каталогом /bin, что позволяет получить результаты только из этого каталога.

Поиск Man-страниц в определенных разделах

В Linux man-страницы разбиты на разделы. Иногда требуется найти man-страницы команды в определенном разделе. Например, для поиска man-страниц по команде printf в разделе 3 (вызовы библиотек):

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

Исключение определенных путей

В случаях, когда необходимо исключить из поиска определенные пути, можно использовать опции -B, -S и -M без имени команды. Например, чтобы найти gcc, но исключить результаты из /usr/bin:

Это может быть удобно, когда у вас есть несколько версий инструмента и вы хотите убедиться, что не ссылаетесь на неправильную.

Отображение пути к базе данных

Если вам интересно, в каких каталогах whereis ищет по умолчанию, опция -l без какой-либо команды отобразит путь к базе данных:

Это дает представление о том, какие каталоги whereis считает стандартными, что помогает лучше понять его поведение по умолчанию.

Заключение

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий