Команды which, whereis и whatis могут показаться новичкам в Linux, но они отличаются больше, чем вы думаете.
Возможно, вы использовали команды which, whereis и whatis в Linux несколько раз. Все три команды помогают найти информацию о других командах Linux. Эти команды выглядят одинаково, но у них есть некоторые отличия.
Вот подробное сравнение команд which, whereis и whatis в Linux.
Какая команда
Некоторые команды имеют несколько двоичных исполняемых файлов, расположенных в разных каталогах. Когда вы запускаете команду, оболочка ищет ее исполняемые файлы в каталогах, указанных в переменной среды PATH.
Чтобы узнать, какие каталоги находятся в переменной окружения PATH, открыть терминал в линуксе и выполните следующую команду:
эхо $PATH
Вы также можете вручную добавьте каталог в переменную среды PATH.
Когда оболочка находит первый исполняемый путь, она выполняет его. Используя команду which в Linux, вы можете определить путь к этому исполняемому файлу.
Это полезно в случаях, когда в вашей системе установлены две разные версии одной и той же программы или две разные программы с одинаковым именем. С помощью команды which вы можете узнать, какой из них будет выполнен первым.
Вот синтаксис команды which:
который [опция] [команда]
Например, чтобы проверить фактический путь смола команду, вы должны ввести:
какая смола
Эта команда отобразит первый путь к исполняемому файлу, т.е. /usr/bin найден для команды tar в PATH. Это означает, что всякий раз, когда вы запускаете команду tar, оболочка выполняет двоичный файл, расположенный в /usr/bin каталог.
Чтобы отобразить все доступные пути к исполняемому файлу для команды, используйте команду which с параметром -а вариант:
который - деготь
Вы также можете отобразить исполняемые пути для нескольких команд одновременно, например:
который [команда1] [команда2] [команда3]
Команда whereis
Команда whereis отображает путь к двоичным файлам, исходным файлам и файлам страниц руководства, связанным с указанной командой. В отличие от команды which, она ищет исполняемый файл не только в $PATH, но также в $MANPATH и других предопределенных местах.
Без каких-либо параметров командной строки команда whereis отображает двоичные файлы, исходные файлы и файлы страниц руководства для команды:
где деготь
Чтобы отобразить только путь к двоичному файлу, используйте -б вариант:
где -b деготь
Чтобы отобразить только исходный файл, используйте -с флаг:
где -s деготь
Чтобы отобразить только страницу руководства, используйте кнопку -м вариант:
где -m tar
Команда Whatis
Команда whatis предоставляет однострочное описание данной команды Linux. Он находит эту информацию на справочной странице команды.
Например, чтобы узнать, что делает команда tar, запустите:
что такое смола
Вы также можете найти информацию о нескольких командах одновременно, используя:
что такое ls cp mkdir кошачья голова
который против. где vs. whatis: в чем отличия?
Если вы ищете путь к двоичному файлу, который запускается при запуске команды в оболочке, используйте команду which. Принимая во внимание, что если вы ищете исходный код, двоичный файл и справочные страницы для команды, используйте whereis.
Команда whereis перечисляет все двоичные исполняемые файлы, а команда which отображает только первый исполняемый файл, который запускается при вводе указанной команды в оболочке.
Команда which выполняет поиск в переменной PATH, а команда whereis выполняет поиск в стандартных каталогах Linux, включая $PATH и $MANPATH.
Наконец, команда whatis просто отображает однострочное описание команды.
Поиск информации о командах Linux
Команды which, whereis и whatis помогают найти информацию о других командах Linux, например полный путь к исполняемым файлам, двоичным файлам, исходным кодам, страницам руководства и функциональным возможностям команды.
Наряду с whatis вы можете использовать другие команды, такие как apropos, man, info и help, чтобы получить подробную информацию и лучше понять команды Linux и их функции.