Переменные окружения
Переменные окружения - это специальные переменные, используемые операционной системой для хранения информации о конфигурации системы, параметрах пользователя и другой системной информации. Они доступны во всех процессах, выполняемых в рамках операционной системы, и могут использоваться программами для получения информации о настройках окружения.
Переменные окружения представляют собой параметры, которые передаются процессам при их создании и определяют окружение, в котором эти процессы выполняются.
Каждый пользователь и процесс в Linux имеют свое собственное окружение, которое определяется переменными окружения. Эти переменные представляют собой пары имя=значение, где "имя" - это имя переменной, а "значение" - это значение, присвоенное этой переменной.
Переменные окружения могут содержать разнообразную информацию, такую как:
- Пути к директориям: Например, переменная
PATHсодержит список директорий, в которых операционная система ищет исполняемые файлы. - Имя пользователя: Переменная
USERможет содержать имя текущего пользователя системы. - Домашняя директория пользователя: Переменная
HOMEуказывает на директорию пользователя. - Операционная система: Переменная
OSможет содержать информацию о типе и версии операционной системы. - Язык и региональные настройки: Например, переменная
LANGможет содержать информацию о текущей локали.
Для работы с переменными окружения в командной строке используются следующие команды:
echo $VAR_NAME- Просмотр значения переменной окруженияexport VAR_NAME=value- Установка значения переменной окруженияunset VAR_NAME- Удаление переменной окружения
environ
В Linux каждый запущенный процесс имеет свой набор переменных окружения, который он наследует от своего родительского процесса. Эти переменные могут быть изменены в пределах самого процесса или переданы ему извне при его запуске.
# Для того чтобы узнать переменные окружения конкретного запущенного процесса, вы можете воспользоваться утилитой ps
ps eww <PID>
# Также можно использовать утилиту cat и прочитать файл /proc/<PID>/environ, где <PID> - это идентификатор процесса.
cat /proc/<PID>/environ
# Этот файл содержит переменные окружения процесса, разделенные нулевыми байтами, и может быть обработан с помощью инструментов, поддерживающих нулевые байты, таких как tr
PATH
Переменная окружения PATH в операционной системе (в том числе в Linux) представляет собой список каталогов, в которых операционная система ищет исполняемые файлы, когда вы вводите команду в командной строке. Эта переменная играет важную роль, так как позволяет вам запускать программы из любого места в файловой системе, не указывая полный путь к исполняемому файлу.
Когда вы вводите команду в терминале, операционная система просматривает все каталоги, перечисленные в переменной PATH, и ищет исполняемый файл с указанным именем в этих каталогах. Если файл найден, команда выполняется.
В этом примере: /usr/local/bin, /usr/bin, /bin, /usr/sbin, /sbin - Это пути к каталогам, где операционная система будет искать исполняемые файлы. Когда вы вводите команду, например, ls, система начнет поиск этой команды сначала в /usr/local/bin, затем в /usr/bin, и так далее.
Добавление кастомных путей в переменную PATH позволяет вам создавать свои собственные скрипты и программы, и использовать их, не указывая полные пути к файлам каждый раз.
Обратите внимание, что порядок путей в переменной PATH имеет значение. Если две одноименные команды (например, ls) находятся в разных каталогах, будет выполнена та, которая будет найдена в первом каталоге, указанном в PATH.
Чтобы добавить новый путь к переменной окружения PATH в Linux, вы можете использовать команду export в командной строке или добавить нужную строку в файлы конфигурации для постоянного сохранения изменений. Вот как это можно сделать:
Временное добавление пути: Вы можете временно добавить новый путь к PATH прямо в текущей сессии терминала, чтобы он был действителен только в этой сессии. Используйте следующий синтаксис:
export PATH=$PATH:/новый/путь. Данная команда добавит новую директорию в конец переменной PATHexport PATH=/новый/путь:$PATH- А следующая команда добавит новую директорию в начало
Постоянное добавление пути: Если вы хотите, чтобы новый путь был доступен всегда, вам следует добавить его в файл конфигурации. В большинстве дистрибутивов Linux файлом конфигурации для таких изменений является ~/.bashrc (для интерактивных сеансов в терминале) или ~/.profile (для сеансов входа в систему).
Откройте один из этих файлов в редакторе текста и добавьте следующую строку: export PATH=$PATH:/новый/путь
После сохранения изменений, перезапустите терминал или выполните команду source ~/.bashrc (или source ~/.profile), чтобы изменения вступили в силу.
CDPATH
Переменная CDPATH используется для определения базовых директорий, которые будут использоваться при выполнении команды cd (change directory) без указания полного пути. CDPATH предоставляет удобный способ быстрого перехода между часто используемыми директориями.
Данная переменная работает аналогично переменной PATH