Как установить и отключить переменные локальной, пользовательской и системной среды в Linux

Как установить и отключить переменные локальной, пользовательской и системной среды в Linux

Рубрики:

Linux, Новости

Метки:

, ,

В этой статье мы расскажем о том, что такое переменные локальной, пользовательской и системной среды. Переменные среды — это специальные переменные, которые определены в оболочке и необходимы программам или скриптам во время выполнения. Они могут быть определены системой или пользователем. Системно-определяемые переменные — это те, которые установлены системой.

Например команда PWD — очень распространенная системная переменная, которая используется для хранения текущего рабочего каталога. Пользовательские переменные обычно устанавливаются либо временно для текущей оболочки, либо постоянно. Вся концепция настройки и изменения параметров среды вращается вокруг некоторого набора файлов и нескольких команд и разных оболочек.

Если говорить более точно, то переменная среды может быть трех типов:

1. Локальная переменная среды

Она определяется для текущего сеанса. Эти переменные локальной среды используются на протяжении текущего сеанса, будь то удаленный сеанс входа в систему или сеанс локального терминала. Эти переменные не указаны в каких-либо файлах конфигурации и создаются и удаляются с помощью специального набора команд.

2. Пользовательская переменная среды

Это переменные, которые определены для конкретного пользователя и загружаются каждый раз, когда пользователь входит в систему с использованием сеанса локального терминала или если этот пользователь регистрируется с помощью сеанса удаленного входа в систему. Эти переменные обычно устанавливаются и загружаются из следующих файлов конфигурации: .bashrc, .bash_profile, .bash_login, .profile, которые присутствуют в домашнем каталоге пользователя.

3. Системные переменные среды

Это переменные среды, доступные в масштабе всей системы, то есть для всех пользователей, присутствующих в этой системе. Эти переменные присутствуют в общесистемных файлах конфигурации, представленных в следующих каталогах и файлах: /etc/environment, /etc/profile, /etc/profile.d/, /etc/bash.bashrc. Эти переменные загружаются каждый раз, когда система включается и в ней регистрируются пользователи, локально или удаленно.

Общие сведения об общих и общесистемных файлах конфигурации

Здесь мы кратко опишем различные файлы конфигурации, перечисленные выше, которые содержат переменные среды, как системные, так и пользовательские.

 

.bashrc

Этот файл является пользовательским файлом, который загружается каждый раз, когда пользователь создает новый локальный сеанс, т.е. простыми словами, открывает новый терминал. Все переменные среды, созданные в этом файле, вступают в силу каждый раз, когда запускается новый локальный сеанс.

 

.bash_profile

Переменные среды, перечисленные в этом файле, вызывается каждый раз, когда пользователь регистрируется удаленно, то есть с помощью команды ssh. Если этого файла нет, система ищет файлы .bash_login или .profile.

 

/etc/environment

Этот файл является системным файлом для создания, редактирования или удаления любых переменных среды. Переменные среды, созданные в этом файле, доступны по всей системе, каждому пользователю глобально, как локально, так и удаленно.

 

/etc/bash.bashrc

Системный файл bashrc. Этот файл загружается один раз для каждого пользователя, каждый раз, когда пользователь открывает сеанс локального терминала. Переменные среды, созданные в этом файле, доступны для всех пользователей, но только через сеанс локального терминала. Когда любой пользователь на этом компьютере будет удален через сеанс удаленного входа, эти переменные не будут видны.

 

/etc/profile

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

 

Примечание. Переменные среды, созданные с использованием общесистемных или пользовательских файлов конфигурации, можно удалить, но можно сделать это только из этих файлов. Просто после каждого изменения этих файлов либо выйдите из системы, либо войдите в систему снова или просто введите следующую команду на терминале, чтобы изменения вступили в силу:

 

Установка или удаление локальных или сеансовых переменных среды в Linux

Локальные переменные среды могут быть созданы с использованием следующих команд:

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

1. Использование env

По умолчанию команда «env» перечисляет все текущие переменные среды. Но, если используется с ключом «-i», то тогда он временно очищает все переменные среды и позволяет пользователю выполнять команду в текущем сеансе в отсутствие всех переменных среды.

 

Здесь var = value соответствует любой локальной переменной окружения, которую вы хотите использовать только с этой командой.

 

Запускаем оболочку bash, в которой временно будут очищены все переменные среды. Но при выходе из оболочки все переменные будут восстановлены.

 

2. Использование отмены

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

 

Где, var-name — это имя локальной переменной, которую вы хотите удалить или очистить.

3. Задайте имя переменной с помощью пустого значения

Другой менее популярный способ — присвоить имени переменной, которую вы хотите очистить, пустое значение, т.е. VAR=(после равняется ничего нет — нажать enter). Это позволит очистить значение локальной переменной для текущего сеанса, для которого она активна.

ПРИМЕЧАНИЕ. ВЫ МОЖЕТЕ ДЕЙСТВИТЕЛЬНО ИЗМЕНЯТЬ ПЕРЕМЕННЫЕ СИСТЕМЫ, НО ИЗМЕНЕНИЯ БУДУТ ОТРАЖАТЬСЯ ТОЛЬКО В ТЕКУЩЕЙ СЕССИИ И НЕ БУДУТ ПОСТОЯННЫМИ.

 

Узнайте, как создавать, пользовательские и системные переменные среды в Linux

В этом разделе мы рассмотрим, как установить или отключить переменные локальной, пользовательской и системной среды и  окружения в Linux с приведенными ниже примерами:

1. Установка и удаление локальных переменных в Linux.

а) Здесь мы создаем локальную переменную VAR1 и устанавливаем ее на любое значение. Затем мы используем unset  и в конце эту переменную удаляем.

 

 

б) Другой способ, при котором создаются переменные локальной среды — использовать команду export. Созданная локальная переменная будет доступна для текущего сеанса. Чтобы отключить переменную, просто установите пустое значение переменной.

 

в) Здесь мы создали локальную переменную VAR2 и установили ее значение. Затем, чтобы запустить команду, временно очистив все локальные и другие переменные среды, мы выполнили команду «env -i». Эта команда здесь запустила оболочку bash, очистив все остальные переменные среды. После ввода «exit» в вызываемой оболочке bash все переменные будут восстановлены.

 

 

 

2. Установка и удаление пользовательских переменных окружения в Linux.

a) Измените файл .bashrc в своем домашнем каталоге, чтобы экспортировать или установить переменную среды, которую нужно добавить. После этого запустите файл, чтобы изменения вступили в силу. Тогда вы увидите переменную («CD» в моем случае), которая вступила в силу. Эта переменная будет доступна каждый раз, когда вы открываете новый терминал для этого пользователя, но не для сеансов удаленного входа.

 

Добавьте следующую строку в файл .bashrc.

 

Теперь запустите следующую команду, чтобы новые изменения вступили в силу и протестировать переменную.

 

 

 

Чтобы удалить эту переменную, просто удалите строку в файле .bashrc и перезайдите в оболочку.

 

б) Чтобы добавить переменную, которая будет доступна для сеансов удаленного входа, измените файл .bash_profile.

 

Добавьте следующую строку в файл .bash_profile.

 

Переменная будет доступна, когда выполните удаленный используя ssh вход для этого пользователя, но не во время открытия нового локального терминала.

 

Здесь VAR2 изначально не доступен, но при выполнении удаленного входа используя ssh пользователю на localhost, переменная становится доступной.

 

 

Чтобы удалить эту переменную, просто удалите строку в файле .bash_profile, которую вы добавили, и перечитайте файл.

ПРИМЕЧАНИЕ. Эти переменные будут доступны при каждом входе в систему для текущего пользователя, но не для других пользователей.

 

3. Установка и удаление системных переменных окружения в Linux.

а) Чтобы добавить системную переменную без входа (то есть та, которая доступна для всех пользователей, когда какой-либо из них открывает новый терминал, но не когда существует удаленный доступ  любому пользователю к машине) добавьте эту переменную в файл /etc/bash.bashrc.

 

Как установить среды в Linux

После этого перечитайте файл.

 

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

 

 

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

б) Если вы хотите, чтобы какая-либо переменная среды была доступна, когда какой-либо из пользователей на вашем компьютере выполнил удаленный вход, но не открывал какой-либо новый терминал на локальном компьютере, вам необходимо отредактировать файл — /etc/profile .

 

Как установить среды в Linux

После добавления переменной просто перечитайте файл. Тогда переменная будет доступна.

 

Чтобы удалить эту переменную, удалите строку из файла /etc/profile и перечитайте ее.

в) Однако, если вы хотите добавить переменную в любую среду, в которой вы хотите быть доступны по всей системе, как для сеансов удаленного входа, так и для локальных сеансов для всех пользователей, просто экспортируйте переменную в /etc/environment.

 

Как установить среды в Linux

После этого только перечитайте файл и изменения вступят в силу.

 

 

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

Чтобы очистить эту переменную, просто удалите запись в файле /etc/environment и перечитайте файл.

ПРИМЕЧАНИЕ. Изменения вступают в силу при перечитывании файла /etc/environment. Но, если нет, вам может понадобиться выйти из системы и снова войти в систему.

Теперь вы знаете, как установить и отключить переменные локальной, пользовательской и системной среды!

Вопросы по статье задавайте в комментариях ниже.

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.

 

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Новости

Метки:

, ,

Больше похожих постов

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

  • Александр
    21 октября 2022 14:10

    Какая обратная команда команде source?

    Т.е. как вернуть значения на системные переменные, как они были?

    Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню