PATH в Linux: как заставить систему находить ВАШИ программы

PATH в Linux: как заставить систему находить ВАШИ программы

Вы когда-нибудь задумывались, почему для запуска `ls` или `nano` вам не нужно вводить полный путь вроде `/usr/bin/ls`? Система просто знает, где искать. А что, если вы создали свой собственный скрипт или установили программу в нестандартную папку, и теперь она не запускается по имени?

Всё дело в одной скрытой силе — переменной окружения PATH. Это ваш личный проводник по файловой системе, который говорит терминалу, в каких именно папках искать исполняемые команды.

Представьте, что ваш компьютер — это огромный офис, а PATH — это список кабинетов, где секретарь (ваша оболочка) ищет сотрудников (программы). Если вашего «сотрудника» нет в этом списке, его просто не найдут.

Вы узнаете, как одним простым действием заставить систему видеть ваши программы и скрипты, где бы они ни находились. Мы не только покажем, как временно изменить PATH, но и раскроем секрет, как сделать эти изменения постоянными, чтобы они не сбрасывались после перезагрузки.

Готовы наконец-то стать полноправным хозяином своего терминала и избавиться от головной боли с «ненайденными» командами? Тогда погружайтесь в статью и откройте для себя все возможности этой фундаментальной настройки!


Когда вы запускаете программу из терминала или скрипта, то обычно пишете только имя файла программы. Однако, ОС Linux спроектирована так, что исполняемые и связанные с ними файлы программ распределяются по различным специализированным каталогам. Например, библиотеки устанавливаются в /lib или /usr/lib, конфигурационные файлы в /etc, а исполняемые файлы в /sbin/, /usr/bin или /bin.

Таких местоположений несколько. Откуда операционная система знает где искать требуемую программу или её компонент? Всё просто — для этого используется переменная PATH. Эта переменная позволяет существенно сократить длину набираемых команд в терминале или в скрипте, освобождая от необходимости каждый раз указывать полные пути к требуемым файлам. В этой статье мы разберёмся зачем нужна переменная PATH Linux, а также как добавить к её значению имена своих пользовательских каталогов.

Переменная PATH в Linux

Для того, чтобы посмотреть содержимое переменной PATH в Linux, выполните в терминале команду:

echo $PATH

PATH в Linux: как заставить систему находить ВАШИ программы

На экране появится перечень папок, разделённых двоеточием. Алгоритм поиска пути к требуемой программе при её запуске довольно прост. Сначала ОС ищет исполняемый файл с заданным именем в текущей папке. Если находит, запускает на выполнение, если нет, проверяет каталоги, перечисленные в переменной PATH, в установленном там порядке. Таким образом, добавив свои папки к содержимому этой переменной, вы добавляете новые места размещения исполняемых и связанных с ними файлов.

Для того, чтобы добавить новый путь к переменной PATH, можно воспользоваться командой export. Например, давайте добавим к значению переменной PATH папку/opt/local/bin. Для того, чтобы не перезаписать имеющееся значение переменной PATH новым, нужно именно добавить (дописать) это новое значение к уже имеющемуся, не забыв о разделителе-двоеточии:

export PATH=$PATH:/opt/local/bin

Теперь мы можем убедиться, что в переменной PATH содержится также и имя этой, добавленной нами, папки:

echo $PATH

PATH в Linux: как заставить систему находить ВАШИ программы

Вы уже знаете как в Linux добавить имя требуемой папки в переменную PATH, но есть одна проблема — после перезагрузки компьютера или открытия нового сеанса терминала все изменения пропадут, ваша переменная PATH будет иметь то же значение, что и раньше. Для того, чтобы этого не произошло, нужно закрепить новое текущее значение переменной PATH в конфигурационном системном файле.

В ОС Ubuntu значение переменной PATH содержится в файле /etc/environment, в некоторых других дистрибутивах её также можно найти и в файле /etc/profile. Вы можете открыть файл /etc/environment и вручную дописать туда нужное значение:

sudo vi /etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/local/bin"

PATH в Linux: как заставить систему находить ВАШИ программы

Можно поступить и иначе. Содержимое файла .bashrc выполняется при каждом запуске оболочки Bash. Если добавить в конец файла команду export, то для каждой загружаемой оболочки будет автоматически выполняться добавление имени требуемой папки в переменную PATH, но только для текущего пользователя:

vi ~/.bashrc

export PATH=$PATH:/opt/local/bin

PATH в Linux: как заставить систему находить ВАШИ программы

Выводы

В этой статье мы рассмотрели вопрос о том, зачем нужна переменная окружения PATH в Linux и как добавлять к её значению новые пути поиска исполняемых и связанных с ними файлов. Как видите, всё делается достаточно просто. Таким образом вы можете добавить столько папок для поиска и хранения исполняемых файлов, сколько вам требуется.

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


Кликните на изображение чтобы обновить код, если он неразборчив