Введение
В этом руководстве мы рассмотрим команду which
в Linux.
Команда which
в Linux используется для определения местоположения конкретного исполняемого файла, который выполняется при вводе имени исполняемого файла (команды) в командной строке терминала. Команда ищет исполняемый файл, указанный в качестве аргумента, в каталогах, перечисленных в переменной среды PATH.
Что такое ПУТЬ
В Linux PATH
— это переменная среды, которая сообщает оболочке и другим программам, в каких каталогах искать исполняемые файлы. Он состоит из разделенного двоеточием списка абсолютных путей к каталогам, содержащим исполняемые файлы.
Чтобы просмотреть содержимое переменной PATH, используйте команду echo с $PATH
в качестве аргумента:
echo $PATH
Вывод будет выглядеть следующим образом:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Как использовать команду what
Синтаксис команды which
следующий:
which [OPTIONS] FILE_NAME...
Например, чтобы найти полный путь к команде ping, введите следующее:
which ping
Вывод будет примерно таким:
/bin/ping
Вы также можете указать более одного аргумента для команды which
:
which netcat uptime
Вывод будет включать полные пути к исполняемым файлам netcat
и uptime
:
/bin/netcat
/usr/bin/uptime
Поиск выполняется слева направо, и если в каталогах, перечисленных в переменной пути PATH
, найдено более одного совпадения which
будет напечатано только первое. Чтобы напечатать все совпадения, используйте параметр -a
:
which -a touch
Вывод покажет два полных пути для touch
команды:
/usr/bin/touch
/bin/touch
Обычно один из исполняемых файлов является просто symlink
на другой, но в некоторых случаях у вас могут быть две версии одной и той же команды, установленные в разных местах, или совершенно разные команды, использующие одно и то же имя.
Вывод
Команда which
используется для поиска команды путем поиска исполняемой команды в каталогах, указанных в переменной среды PATH
.