Сравнение команд whereis и which в Linux

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

Linux

Введение в команду which в Linux

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

Синтаксис и параметры команды which

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

Некоторые часто используемые опции включают:

-a: Вывести все совпадающие имена путей каждого аргумента.

Например:

Это может вернуть несколько путей, если у вас установлено несколько версий Python.

Практическое применение which

Для определения местоположения команды grep - инструмента, используемого для поиска шаблонов:

Это может вернуть:

Команда which показала, что двоичный файл команды grep находится в каталоге /bin. Это стандартный каталог для двоичных файлов основных команд в Linux.

Введение в команду whereis в Linux

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

Синтаксис и опции whereis

Основная структура команды whereis выглядит следующим образом:

Некоторые ключевые опции включают:

  • -b: Искать только двоичные файлы.
  • -m: Искать только разделы руководства.
  • -s: Искать только исходные тексты.

Например:

Это вернет только двоичное расположение команды ls.

Практическое применение whereis

Чтобы узнать больше о команде ls:

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

Команда whereis указала несколько путей. Первый - это местоположение двоичного файла, а второй - местоположение страницы руководства. Такое комплексное представление отличает whereis от which.

Углубленное сравнение команд which и whereis

Оценка скорости и детализации

Команда which:

  • Скорость: Команда which оптимизирована для скорости работы. Это оптимизированный инструмент, который выполняет поиск исключительно в каталогах, указанных в переменной окружения PATH. Такая направленность делает ее особенно быстрой, особенно когда требуется немедленная информация о бинарном расположении команды.

whereis Команда:

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

Определение примеров использования

Для мгновенного определения местоположения бинарного файла:

  • При написании сценариев или в сценариях, где требуется быстро проверить бинарное местоположение команды, лучше всего использовать команду which. Ее дизайн предназначен для быстрого поиска, что делает ее предпочтительной для многих пользователей Linux.

Для целостного обзора:

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

Заключение

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

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