which
команда используется для определения местоположения данного исполняемого файла, который выполняется при вводе имени исполняемого файла (команды) в строке терминала. Команда ищет исполняемый файл, указанный в качестве аргумента, в каталогах, перечисленных в переменной среды PATH.
Что такое PATH
В Linux PATH
— это переменная окружения, которая сообщает оболочке и другим программам, в каких каталогах искать исполняемые файлы. Он состоит из списка разделенных двоеточиями абсолютных путей к каталогам, содержащим исполняемые файлы.
Чтобы просмотреть содержимое переменной PATH, используйте команду echo с $PATH
в качестве аргумента:
echo $PATH
Результат будет выглядеть примерно так:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Как использовать команду which
Синтаксис команды 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
.
Добавить комментарий