Гид по технологиям

Как добавить директории в PATH в Linux

• 5 min read • Linux • Обновлено 18 Nov 2025
Как добавить директории в PATH в Linux
Как добавить директории в PATH в Linux

Иллюстрация: добавление директорий в системную переменную PATH

Когда вы создаёте Bash-скрипт и сохраняете его в папке, по умолчанию вы сможете запускать его только находясь в этой папке. Команды вроде ls, ImageMagick, Apache и Squid доступны в любой директории, потому что их пути добавлены в переменную PATH. Добавив путь к вашей папке в PATH, вы сможете запускать свои скрипты из любого места.

Важно понять три уровня, где можно изменить PATH:

  • Уровень оболочки Bash — влияет только на Bash и процессы, запущенные из него.
  • Уровень пользователя (профиль) — влияет на сеансы пользователя в графическом и консольном входе.
  • Глобальный уровень окружения — влияет на всех пользователей системы.

Ниже подробно описаны каждый уровень, примеры, возможные ошибки и рекомендации по безопасности.

Быстрая проверка перед началом

  • Проверьте текущий PATH:
echo $PATH
  • Убедитесь, что ваши скрипты исполняемые:
chmod +x /путь/к/скрипту
  • Для удобства храните пользовательские скрипты в ~/scripts или /usr/local/bin.

Добавление пути для текущей Bash-сессии

Если нужно быстро и временно добавить путь только на время текущей сессии, выполните:

export PATH="/путь/до/папки:$PATH"

Это изменение действует только в текущем терминале. После закрытия окна или выхода из сессии PATH вернётся к прежнему значению.

Добавление пути в ~/.bashrc для постоянного эффекта в Bash

Если вы хотите, чтобы путь был доступен всегда при запуске интерактивного Bash, отредактируйте файл ~/.bashrc. Откройте его в любимом редакторе, например:

gedit ~/.bashrc

В конец файла добавьте строку:

export PATH="/home/имя_пользователя/scripts:$PATH"

Сохраните файл и примените изменения без выхода из сессии:

source ~/.bashrc

Проверка:

which имя_скрипта || command -v имя_скрипта

Если команда возвращает путь — всё настроено правильно.

Папка со скриптами для добавления в PATH

Добавление пути в профиль пользователя

Чтобы путь был доступен вне ограничений Bash (например, в графической среде), добавьте его в ~/.profile.

Откройте ~/.profile:

gedit ~/.profile

В конец добавьте:

export PATH="$PATH:$HOME/scripts"

Важное замечание: на Ubuntu и её производных часто предпочтительнее редактировать ~/.pam_environment. В этом файле синтаксис другой, и он читается PAM при входе в сеанс.

Откройте или создайте ~/.pam_environment и добавьте строку:

PATH DEFAULT=${PATH}:/home/@{PAM_USER}/scripts

Использование @{PAM_USER} позволяет автоматически подставлять имя текущего пользователя, так что каждому пользователю будет добавляться его собственная ~/scripts-папка.

После правки выйдите из системы и войдите снова, чтобы изменения вступили в силу.

Редактирование профиля PAM для добавления пути пользователя

Добавление пути в системное окружение для всех пользователей

Чтобы сделать папку доступной всем пользователям, отредактируйте /etc/environment или создайте скрипт в /etc/profile.d/.

Пример редактирования /etc/environment (потребуются права администратора):

sudo nano /etc/environment

В файле PATH представлен как строка в кавычках, пути разделяются двоеточием:

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

Добавьте в конец, перед закрывающей кавычкой, двоеточие и ваш путь:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/ВАШЕ_ИМЯ/scripts"

После изменения выйдите и зайдите в систему или перезагрузите. Альтернатива — создать файл /etc/profile.d/my-scripts.sh и поместить туда:

export PATH="/home/ВАШЕ_ИМЯ/scripts:$PATH"

Файлы в /etc/profile.d/ читаются при входе в систему и применяют настройки для всех пользователей.

Редактирование системного файла /etc/environment

Полезные альтернативы и подходы

  • Символическая ссылка в /usr/local/bin вместо модификации PATH:
sudo ln -s /home/имя_пользователя/scripts/мой_скрипт /usr/local/bin/мой_скрипт
  • Используйте dotfiles-менеджеры (Ansible, GNU Stow) для развёртывания PATH на нескольких машинах.
  • Для zsh изменяйте ~/.zshrc; для fish — config.fish.

Когда изменение PATH не работает

  • Вы забыли сделать скрипт исполняемым (chmod +x).
  • Порядок в PATH важен: если в PATH раньше встречается другой исполняемый файл с тем же именем, он будет выбран первым.
  • Правки в ~/.bashrc не будут действовать для графических сессий — используйте ~/.profile или ~/.pam_environment.
  • /etc/environment не поддерживает командную подстановку; используйте абсолютные пути.

Безопасность и лучшие практики

  • Не добавляйте в PATH директории, доступные для записи всем (world-writable) — это риск выполнения вредоносного кода.
  • Не ставьте пользовательские каталоги в начало PATH в системных конфигурациях: это может переопределить системные утилиты.
  • Для общесистемных скриптов предпочтительнее /usr/local/bin с корректными правами доступа.
  • Проверяйте содержимое PATH командой echo $PATH после изменения.

Проверки и критерии приёмки

Критерии приёмки:

  • Скрипт с правом исполнения запускается из любой директории без указания полного пути.
  • which или command -v возвращают ожидаемый путь к скрипту.
  • Изменения персистентны после выхода и повторного входа.

Тесты:

  1. chmod +x ~/scripts/test && echo $PATH && test-command
  2. which test-command
  3. logout и login, затем which test-command

Рольовые чек-листы

Разработчик:

  • Поместить часто используемые локальные утилиты в ~/scripts.
  • Сделать исполняемым и добавить в PATH в ~/.bashrc.
  • Обновить README с описанием установки.

Системный администратор:

  • Для общесистемных утилит использовать /usr/local/bin.
  • При массовом развёртывании прописать /etc/profile.d/скрипт.
  • Проверить права и владельцев файлов.

Новичок:

  • Использовать ~/scripts и добавить в ~/.bashrc.
  • Перезапустить терминал и проверить which.

Мини-методика добавления папки в PATH (шаги)

  1. Выберите уровень: временно, пользователь или системно.
  2. Сделайте скрипты исполняемыми (chmod +x).
  3. Добавьте export PATH=… к соответствующему файлу.
  4. Примените изменения: source или переавторизация.
  5. Проверьте which и echo $PATH.

Миграция между оболочками

  • Bash (.bashrc/.profile) → Zsh: скопируйте полезные export в ~/.zshrc.
  • Fish использует другой синтаксис: set -U PATH /home/you/scripts $PATH.

Краткая глоссарий

  • PATH — переменная окружения со списком директорий, где ищутся исполняемые файлы.
  • export — команда Bash, делающая переменную окружения доступной дочерним процессам.
  • ~/.bashrc, ~/.profile, /etc/environment — файлы конфигурации на разных уровнях.

Итог

Добавление директорий в PATH делает ваши скрипты удобными для запуска из любой точки системы. Выберите правильный уровень (локальный для быстрого теста, профиль для пользователя или системный для всех), соблюдайте права доступа и безопасность, и проверяйте результат командами which и echo $PATH.

Полезные ссылки:

  • How to Get Commands Explanation in Terminal with Kmdr
  • An Even Better Way to Search Your Command Line History
  • Basic Bash Commands for Linux Newbies
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро