5. env (Окружение)

Ваша система Linux использует переменные окружения для хранения информации, к которой могут обращаться оболочка (shell) и другие процессы. Эти переменные содержат полезные данные о вашей пользовательской сессии и системной конфигурации.

Изучение основных переменных окружения

Вы можете просмотреть значение определенной переменной, добавив перед ее именем символ $. Например, выполните следующую команду:

echo $HOME

Эта команда отобразит путь к вашему домашнему каталогу, который может выглядеть примерно так: /home/pete.

Теперь попробуйте другую:

echo $USER

Это выведет ваше текущее имя пользователя. Но откуда берутся эти сведения? Они хранятся в окружении вашей оболочки.

Что делает команда env в Linux

Чтобы увидеть все переменные окружения, установленные в данный момент для вашей сессии, вы можете использовать команду env. Команда linux env command является фундаментальным инструментом для проверки конфигурации вашей оболочки.

env

Выполнение команды env выведет список пар ключ-значение. Вот краткий пример того, что вы можете увидеть:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/bin
PWD=/home/user
USER=pete

Понимание linux env имеет решающее значение для эффективного управления вашей системой.

Важность переменной PATH

Одной из самых важных переменных в выводе env linux является PATH. Вы можете просмотреть ее содержимое, используя:

echo $PATH

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

Представьте, что вы вручную установили программу в нестандартный каталог, например /opt/coolapp/bin. Если вы попытаетесь запустить ее, набрав coolcommand, вы можете получить ошибку «command not found» (команда не найдена). Это происходит потому, что каталог, содержащий вашу программу, не указан в переменной PATH, поэтому оболочка не знает, где ее искать.

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

Установка переменной окружения для текущей сессии

Выполнение следующей команды в терминале устанавливает переменную окружения TEST только для текущей сессии:

export TEST=test

После этого, если вы выполните:

echo $TEST

Вывод будет:

test

Эта переменная будет доступна до тех пор, пока открыта сессия терминала. Как только вы закроете и снова откроете терминал, переменная исчезнет.

Обеспечение постоянства переменной окружения между сессиями

Если вы хотите, чтобы переменная окружения была доступна в каждой сессии терминала (даже после закрытия и повторного открытия терминала), вам необходимо добавить ее в файл запуска вашей оболочки. В случае с Bash (оболочка по умолчанию для многих дистрибутивов Linux и macOS), этот файл обычно называется .bashrc в вашем домашнем каталоге.

Вот как это сделать:

  1. Откройте .bashrc в предпочитаемом вами текстовом редакторе. Например:
nano ~/.bashrc
  1. Добавьте строку export в конец файла:
export TEST=test
  1. Сохраните и выйдите из редактора (в Nano это будет Ctrl+X, затем Y для подтверждения и Enter).

  2. Чтобы немедленно применить изменения, не закрывая терминал, выполните:

source ~/.bashrc

После этого переменная TEST будет доступна во всех будущих сессиях терминала, и выполнение echo $TEST будет выводить test даже после закрытия и повторного открытия терминала.

Примечание о файлах конфигурации оболочки

  • Для Bash (по умолчанию во многих системах) соответствующий файл — ~/.bashrc для неинтерактивных оболочек входа.
  • Для Zsh эквивалентный файл обычно ~/.zshrc.
  • Для Fish вы обычно используете ~/.config/fish/config.fish.

Войдите, чтобы сохранить ваш прогресс обучения

Вход

Упражнения

Практика ведет к совершенству! Вот несколько практических лабораторных работ для закрепления вашего понимания переменных окружения Linux:

  1. Управление оболочкой окружения и конфигурацией в Linux - Практикуйтесь в создании и управлении локальными переменными и переменными окружения, понимании наследования и обеспечении постоянства конфигураций путем изменения файла .bashrc.
  2. Переменные окружения в Linux - Изучите концепцию и использование переменных окружения, как их создавать, изменять и управлять ими, а также их роль в системной конфигурации.
  3. Настройка переменных окружения Linux - Получите практический опыт создания, установки и управления переменными окружения в системе Linux.

Эти лабораторные работы помогут вам применить концепции в реальных сценариях и повысить уверенность в управлении окружением вашей оболочки Linux.

Тест

Какая команда отображает все ваши текущие переменные окружения? (Пожалуйста, ответьте на английском языке, используя только строчное имя команды)