Команда which в Linux

В этом руководстве мы рассмотрим команду Linux which .

Linux, 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 .

Если у вас есть вопросы или отзывы, оставьте комментарий ниже.

Оставьте комментарий

Ваш адрес email не будет опубликован.