Перейти к содержимому

Понятия

Переменная PATH в Linux: как добавить каталог в PATH навсегда

PATH — переменная окружения со списком каталогов через двоеточие. Когда вы набираете команду без пути, оболочка ищет исполняемый файл в этих каталогах слева направо и запускает первый найденный.

echo $PATH
# /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Какой файл запустится

which python3          # /usr/bin/python3
type ls                # ls is aliased to `ls --color=auto'
command -v deploy      # путь или пусто, если команды нет — удобно в скриптах
readlink -f "$(which python3)"   # куда ведёт ссылка на самом деле

Добавить каталог в PATH

export PATH="$HOME/bin:$PATH"     # в начало: ваши программы важнее системных
export PATH="$PATH:$HOME/bin"     # в конец: системные важнее

Так PATH меняется только в текущей оболочке. Навсегда — допишите строку в ~/.bashrc:

echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Одинарные кавычки нужны, чтобы в файл попал сам текст $HOME, а не его значение.

Переменные окружения

env                     # все переменные окружения
printenv HOME           # одна переменная
export APP_ENV=staging  # переменную увидят программы, запущенные из этой оболочки
APP_ENV=test ./run.sh   # только для одной команды
unset APP_ENV           # удалить

Без export переменную видит только сама оболочка, но не запускаемые программы.

ПеременнаяЗначение
HOMEдомашний каталог
USERимя пользователя
SHELLоболочка входа
PWDтекущий каталог
LANGязык и кодировка
EDITORредактор по умолчанию

С точки зрения безопасности

  • Подмена через PATH. Если скрипт от root вызывает программу без полного пути, а атакующий может писать в каталог, стоящий в PATH раньше /usr/bin, он подложит туда свою программу с тем же именем. В скриптах для cron и sudo вызывайте программы по полному пути.
  • Никогда не добавляйте . (текущий каталог) в PATH.
  • Секреты в окружении видит владелец процесса и root через /proc/<PID>/environ, а утёкший файл .env веб-приложения — частая находка на проверках.

Обновлено 20 октября 2026 г.

Переменная PATH в Linux: как добавить каталог в PATH навсегда — CyberLab