Переменные окружения Linux: описание, особенности

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

Виды переменных окружения

Переменные окружения, выводимые в системе

Согласно методу объявления и способам инициализации переменные окружения Linux могут быть трех различных видов:

  1. Локальный тип переменных и констант инициализируется во время запуска системы и после выхода удаляется встроенным деконструктором. Удаление данного вида данных произойдет в любом случае, вне зависимости от того, как произведено подключение к аппаратному обеспечению: через устройства удаленного доступа, эмуляцию терминала или создание сессии через виртуальную машину. Во время обработки они не сохраняются ни в одном из файлов или директорий. Создание и деконструкция переменных происходит за счет специализированных команд в оболочке управления.
  2. Пользовательские переменные окружения Linux инициализируются для каждого из пользователей операционной системы. Определение и загрузка происходит во время входа в операционную систему. Так же как и с другими видами, вне зависимости от входа через локальный терминал либо удаленного доступа, определение происходит автоматически. Сохранение данных обеспечивается в документах, которые отвечают за конфигурацию устройства. Также возможно хранить их в других документах, размещающихся в пользовательских папках. Чаще всего находятся в файлах bash_profile, bash_login и других конфигурационных файлах.
  3. Системные. Данный вид доступен при работе системы каждому пользователю. Применяются для управления системными функциями и требуются для корректной работы операционной системы. Загрузка осуществляется из директории с системными файлами окружения, профиля, etc / environment и многих других.
  1. Работа с данными

Файлы, в которых хранятся переменные

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

Документ BASHSRC

В данном документе хранятся практически все пользовательские данные. Для каждого юзера создается отдельный файл. Загрузка производится во время создания сеанса терминального типа.

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

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

Файл BaSH_Profile

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

Файл окружения Environment

Документ Environment, который находится в системной директории ETC представляет собой хранилище информации переменных окружения Linux, работа с которыми осуществляется на уровне операционной системы. Извлечение и работа осуществляется при каждом запуске в любом из режимов (через локальный терминал либо при удаленном доступе к средствам операционной системы посредством протокола SSH (Secure Shell). Данные доступны для каждого пользователя, вошедшего в оболочку операционной системы. Исполнение этого файла происходит при каждом запуске ОС всеми пользователями.

Обработка в Bash

Системные файлы пользователей

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

Пользовательский файл для входа через локальный терминал

Документ, который находится в директории /etc/ bash.bashrc, необходим для пользователя во время работы. Функционирование данного файла и его переменных окружения возможна только при запуске приложений через локальный терминал. При попытке получить доступ к документам через протокол защищенной оболочки возможно появление ошибок о недостаточности прав.

Типы командных оболочек

Профиль пользователя для доступа через протокол SSH

В файле Profile, который находится в директории ETC, расположены пользовательские переменные. Файл может быть исполнен только при запуске посредством удаленного доступа. Таким образом загружаются пользовательские настройки и другие данные. Однако переменные из ETC/Profile недоступны для юзеров, которые получили доступ к операционной системе посредством локального терминала, то есть при обычном включении.

Основные переменные окружения

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

Оболочка линукс

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

Команды окружения Linux имеют свои уникальные идентификаторы. То же самое касается параметров командной оболочки bash. Для того чтобы обратиться к данным параметрам, потребуется добавить к идентификатору ссылочный тип. Это осуществляется через знак $.

Идентификатор

Выполняемое значение, функция

USER

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

UID

Числовое значение, которое получает пользователь, вошедший в операционную систему.

Home

Директория в которой хранятся данные текущего пользователя.

PWD

Путь к обрабатываемым на данный момент файлам.

SHELL

Идентификатор обрабатывающего данные программного обеспечения (командного интерпретатора).

$

Данные о процессе, запущенном командным интерпретатором.

PPID

ID родительского процесса, который запустил текущий.

?

Ошибка или код завершения последней выполненной командной оболочкой команды.

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

Как в Linux добавить переменные окружения

Это можно сделать самостоятельно при работе с операционной системой и командной оболочкой bash. Для добавления нового параметра в окружение потребуется воспользоваться определенным набором команд.

Чтобы установить переменную окружения Linux, введите в командную оболочку var = параметр, который желаете ввести. Затем потребуется экспортировать данный параметр с помощью команды export var = параметр. Для доступа по ссылке потребуется добавить к строке символ доллара. Таким образом переменная создается только для текущей сессии. Причем осуществить это возможно только при входе в оболочку посредством локального терминала. В удаленном варианте получить доступ таким способом не получится. Просмотр переменных окружения Linux осуществляется за счет стандартных команд. Важно отметить, что это абсолютно не зависит от способа входа.

Чтобы посмотреть переменные окружения Linux также нужно воспользоваться командой export. Альтернативный вариант – команда env, которая выводит параметр в более чистом виде. Как вывести переменные окружения Linux? Для полного списка можно использовать команду Set.

Работа через терминал

Удаление переменных окружения

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

Команда ENV в обычном виде применяется для установления переменных оболочки. Однако при добавлении -i производится локальное удаление параметров. Таким образом команда осуществляется без привлечения переменных. Команда в полном виде выглядит следующим образом:

env –i [Var = Параметр] Выполняемое действие.

При этом вместо Var можно установить любое значение переменной окружения. Например, $env -i bash запустит командную оболочку без каких-либо параметров. Во время работы с оболочкой невозможно менять или инициализировать значения, но при последующих запусках без параметра -i возможно работать со всеми встроенными функциями.

Команда Unset разыменовывает команду или параметр. То же самое касается переменных окружения. Они полностью удаляются из программируемой оболочки, управляемой командным интерпретатором до конца текущей сессии. Синтаксис команды выглядит так:

$ unset Наименование_переменной.

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

Linux переменные окружения процесса

Процесс создания или инициализации переменных в командной оболочке осуществляется с помощью встроенных функций. При создании параметров таким образом они сохраняются на все следующие запуски системы. В то время как большинство версий и дистрибутивов операционной системы Linux рекомендуют изменять либо добавлять новые переменные в директорию ETC / PROFILE. Стоит учитывать, что большая часть процессов может управлять с данным видом параметров и изменять их значение. Любой сценарий может применять для изменения значений. Однако это запрещено соглашениями Unix.

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

  • /etc/ profile - при работе с данным документом реально устанавливать значения переменных окружения для командных оболочек;
  • /etc /bash.bashrc - используется для создания и присваивания значения переменных для интерактивной оболочки, а также необходим для работы скриптов bash.
  • /etc/ environment нужен для работы подключаемого модуля аутентификации env.

В Linux установка переменных окружения системного типа осуществляется только в эти файлы.

Объявлять и инициировать переменные окружения можно в верхнем и нижнем регистре. Однако считается более правильным создавать их только в верхнем, то есть заглавными буквами. Польза от них заключается в возможности для каждого конкретного пользователя выполнять код программного обеспечения по-разному. Таким образом, утилиты будут запускаться с выбранными настройками в зависимости от переменной окружения UID или USER. Также информация может добываться из каталога HOME.

В операционных системах с различными типами доступа и пользователями требуется разный набор параметров. Чтобы посмотреть переменные окружения Linux для пользователей, может потребоваться использовать командную оболочку консоли и команды Env либо Set. В таком случае список актуальных параметров будет выведен на экран. При необходимости обновления используйте команду Source и имя файла, в который добавлена новая переменная окружения.

Статья закончилась. Вопросы остались?
Комментарии 0
Подписаться
Я хочу получать
Правила публикации
Редактирование комментария возможно в течении пяти минут после его создания, либо до момента появления ответа на данный комментарий.