Змінні оточення в Linux

Змінними оточення в операційних системах на базі ядра Linux називаються ті змінні, які містять текстову інформацію, використовувану іншими програмами під час запуску. Зазвичай вони включають загальні системні параметри як графічної, так і командної оболонки, дані про настройках користувача, розташуванні певних файлів і багато іншого. Значення таких змінних вказуються, наприклад, цифрами, символами, шляхами для тек або файлів. Завдяки цьому безліч додатків швидко отримують доступ до певних настройок, а також з'являється можливість для користувача змінювати або створювати нові опції.

Робота зі змінними оточення в Linux

В рамках цієї статті ми б хотіли торкнутися основну і найкориснішу інформацію, яка відноситься до змінних оточення. Крім усього, ми продемонструємо способи їх перегляду, зміни, створення і видалення. Знайомство з головними опціями допоможе початківцям користувачам зорієнтуватися в управлінні подібними інструментами і розібратися з їх значенням в дистрибутивах ОС. Перед початком розбору найважливіших параметрів хотілося б розповісти про поділ їх на класи. Таке групування визначається наступним чином:

  1. Системні змінні. Ці опції завантажуються відразу ж при старті операційної системи, зберігаються в певних конфігураційних файлах (мова про них буде йти нижче), а також доступні для всіх користувачів і всієї ОС в цілому. Зазвичай такі параметри вважаються найголовнішими і часто використовуваними під час старту самих різних додатків.
  2. Змінні. Кожен користувач має свою домашню директорію, де зберігаються всі важливі об'єкти, до їх числа відносяться і конфігураційні файли для користувача змінних. З їх назви вже зрозуміло, що застосовуються вони під конкретного користувача в той час, коли він авторизований через локальний «Термінал». Діють вони і при віддаленому з'єднанні.
  3. Локальні змінні. Існують параметри, які застосовуються тільки в рамках однієї сесії. При її завершенні вони будуть назавжди вилучені і для повторного старту все доведеться створювати вручну. Вони не зберігаються в окремих файлах, а створюються, редагуються і видаляються за допомогою відповідних консольних команд.

Файли для призначених для користувача і системних змінних

Як ви вже знаєте з опису вище, два з трьох класів змінних Linux зберігаються в окремих файлах, де зібрані загальні зміни і додаткові параметри. Кожен такий об'єкт завантажується тільки при відповідних умовах і використовується для різних цілей. Окремо хотілося б виділити такі елементи:

  • /ETC/PROFILE - один із системних файлів. Доступний для всіх користувачів і всієї системи навіть при віддаленому вході. Єдине обмеження для нього - параметри не приймаються при відкритті стандартного «Терміналу», тобто в цьому розташуванні ніякі значення з цієї конфігурації працювати не будуть.
  • /ETC/ENVIRONMENT - більш широкий аналог попередньої конфігурації. Він функціонує на системному рівні, має ті ж опції, що і попередній файл, але тепер без будь-яких обмежень навіть при віддаленому підключенні.
  • /ETC/BASH.BASHRC - файл тільки для локального використання, при віддаленій сесії або з'єднанні через інтернет функціонувати він не буде. Виконується для кожного користувача окремо при створенні нової термінальної сесії.
  • .BASHRC - відноситься до конкретного користувачеві, зберігається в його домашній директорії і виконується кожен раз при новому запуску терміналу.
  • .BASH_PROFILE - то ж, що .BASHRC, тільки для віддаленого взаємодії, наприклад, при використанні SSH.

Читайте також: Установка SSH-server в Ubuntu

Перегляд списку системних змінних оточення

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

  1. Запустіть «Термінал» через меню або затисненням гарячої клавіші Ctrl + Alt + T.
  2. Запуск терміналу для роботи зі змінними оточення в Linux

  3. Пропишіть команду sudo apt-get install coreutils , щоб перевірити наявність даної утиліти у вас в системі і відразу ж встановити її при потребі.
  4. Установка утиліти для роботи зі змінними оточення в Linux

  5. Вкажіть пароль від облікового запису користувача root, що вводяться символи при цьому відображатися не будуть.
  6. Пароль для установки утиліти змінних оточення в Linux

  7. Ви будете повідомлені про додавання нових файлів або їх наявності в бібліотеках.
  8. Завершення установки утиліти для змінної оточення в Linux

  9. Тепер скористайтеся однією з команд встановленої утиліти Coreutils, щоб розкрити список всіх змінних оточення. Напишіть printenv і натисніть на клавішу Enter.
  10. Перегляд всіх змінних оточення в Linux

  11. Ознайомтеся з усіма параметрами. Вираз до знака = - назва змінної, а після - її значення.
  12. Ознайомлення з параметрами і їх значеннями через перегляд змінних в Linux

Список основних системних і призначених для користувача змінних оточення

Завдяки наведеної вище інструкції ви тепер знаєте, як можна швидко визначити всі поточні параметри і їх значення. Залишилося тільки розібратися з основними. Звернути увагу хотілося б на такі пункти:

  • DE . Повна назва - Desktop Environment. Містить ім'я поточного оточення робочого столу. В операційних системах на ядрі Linux використовуються різні графічні оболонки, тому додатків важливо розуміти, яка зараз активна. В цьому і допомагає змінна DE. Приклад її значень - gnome, mint, kde і так далі.
  • PATH - визначає список директорій, в яких відбувається пошук різних виконуваних файлів. Наприклад, при дії однієї з команд з пошуку і доступу до об'єктів вони звертаються до цих папок для швидкого пошуку і передачі виконуваних файлів із зазначеними аргументами.
  • SHELL - зберігає в собі опцію активної командної оболонки. Такі оболонки дозволяють користувачеві самостійно прописувати певні скрипти і запускати різні процеси за допомогою синтаксисів. Найпопулярнішою оболонкою вважається bash. Список інших поширених команд для ознайомлення ви знайдете в інший нашій статті за наступним посиланням.
  • Читайте також: Часто використовувані команди в «Терміналі» Linux

  • HOME - тут все досить просто. Даний параметр вказує шлях до домашньої папці активного користувача. У кожного користувача він різний і має вигляд: / home / user. Пояснення цьому значенню теж легке - ця змінна, наприклад, використовується програмами для встановлення стандартного місця розташування їх файлів. Звичайно, прикладів існує ще величезна кількість, але для ознайомлення цього достатньо.
  • BROWSER - містить в собі команду для відкриття веб-оглядача. Саме ця змінна найчастіше і визначає браузер за замовчуванням, а всі інші утиліти і ПО звертаються до зазначеної інформації для відкриття нових вкладок.
  • PWD і OLDPWD . Всі дії з консолі або графічної оболонки відбуваються з певного розташування в системі. Перший параметр відповідає за поточне перебування, а другий показує попереднє. Відповідно, їх значення змінюються досить часто і зберігаються як в призначених для користувача конфігураціях, так і в системних.
  • TERM . Програм-терміналів для Linux існує велика кількість. Згадана змінна зберігає в собі інформацію про назву активної консолі.
  • RANDOM - містить в собі скрипт, що генерує кожен раз випадкове число від 0 до 32767 при зверненні до цієї змінної. Така опція дозволяє іншому софту обходитися без власного генератора випадкових чисел.
  • EDITOR - відповідає за відкриття редактора текстових файлів. Наприклад, за замовчуванням ви можете зустріти там шлях / usr / bin / nano, але нічого вам не заважає змінити його на будь-який інший. За більш складні дії з тестом відповідає VISUAL і запускає, наприклад, редактор vi.
  • HOSTNAME - ім'я комп'ютера, а USER - ім'я поточного облікового запису.

Запуск команд із зазначенням нового значення змінної оточення

Можете самостійно на час змінити опцію будь-якого параметра, щоб запустити з ним певну програму або виконати будь-які інші дії. В такому випадку в консолі вам буде досить прописати env VAR=VALUE , де VAR - назва змінної, а VALUE - її значення, наприклад, шлях до папки /home/user/Download .

Запустити команду з присвоєнням нового значення змінної оточення в Linux

При наступному перегляді всіх параметрів через згадану вище команду printenv ви побачите, що вказане вами значення було змінено. Однак воно стане таким, як було за замовчуванням, відразу ж після наступного звернення до неї, а також функціонує тільки в межах активного терміналу.

Тимчасове значення змінної оточення в Linux

Установка і видалення локальних змінних оточення

З матеріалу вище ви вже знаєте про те, що локальні параметри не зберігаються в файлах і активні тільки в рамках поточної сесії, а після її завершення видаляються. Якщо вас цікавить власне виробництво і видалення таких опцій, діяти треба так:

  1. Запустіть «Термінал» і напишіть команду VAR=VALUE , після чого натисніть на клавішу Enter. Як завжди, VAR - будь-який зручний назву змінної одним словом, а VALUE - значення.
  2. Записати нову локальну змінну оточення в Linux

  3. Перевірте дієвість проведених дій, ввівши echo $VAR . Рядком нижче ви повинні отримати опцію змінної.
  4. Перевірити роботу локальної змінної оточення в Linux

  5. Видаляється будь-який параметр командою unset VAR . Перевірити видалення можна також через echo (наступний рядок має бути порожній).
  6. Видалити локальну змінну оточення в Linux

Таким нехитрим чином додаються будь-які локальні параметри в необмеженій кількості, важливо пам'ятати тільки про головну особливість їх дії.

Додавання і видалення призначених для користувача змінних

Ми перейшли до класів змінних, які зберігаються в конфігураційних файлах, а з цього випливає те, що вам доведеться редагувати самі файли. Робиться це за допомогою будь-якого стандартного текстового редактора.

  1. Відкрийте для користувача конфігурацію через sudo gedit .bashrc . Ми пропонуємо використовувати графічний редактор з позначенням синтаксису, наприклад, gedit. Однак вказати можна будь-який інший, наприклад, vi або nano.
  2. Запустити призначений для користувача конфігураційний файл змінних оточення в Linux

  3. Не забувайте про те, що при запуску команди від імені суперкористувача потрібно ввести пароль.
  4. Введення пароля для запуску конфігураційного файлу користувача в Linux

  5. В кінці файлу додайте рядок export VAR=VALUE . Кількість таких параметрів нічим не обмежується. Крім усього, ви можете змінити значення вже присутніх змінних.
  6. Додати змінну в конфігураційний файл користувача в Linux

  7. Після внесення змін збережіть їх і закрийте файл.
  8. Зберегти зміни конфігураційного файлу користувача в Linux

  9. Оновлення конфігурації відбудеться після повторного старту файлу, а робиться це через source .bashrc .
  10. Перезапустити конфігураційний файл користувача Linux

  11. Перевірити активність змінної можна через ту ж опцію echo $VAR .
  12. Перевірити значення змінної файлу користувача в Linux

Якщо ви перед внесенням змін не ознайомилися з описом цього класу змінних, обов'язково прочитайте інформацію на початку статті. Це допоможе уникнути подальших помилок з дією введених параметрів, що мають свої обмеження. Що стосується видалення параметрів, то відбувається воно теж через конфігураційний файл. Досить повністю видалити рядок або закомментировать її, додавши на початку знак #.

Створення та видалення системних змінних оточення

Залишилося тільки торкнутися третій клас змінних - системні. Редагуватися для цього буде файл / ETC / PROFILE, який залишається активним навіть при віддаленому підключенні, наприклад, через відомий багатьом менеджер SSH. Відкриття конфігураційного елемента здійснюється приблизно так само, як і в попередньому варіанті:

  1. В консолі введіть sudo gedit /etc/profile .
  2. Запустити системний конфігураційний файл змінних в Linux

  3. Внесіть всі необхідні зміни і збережіть їх, натиснувши на відповідну кнопку.
  4. Редагувати системну конфігурацію змінних в Linux

  5. Перезапустіть об'єкт через source /etc/profile .
  6. Перезапустити системну конфігурацію змінних в Linux

  7. Після закінчення перевірте працездатність через echo $VAR .
  8. Перевірити роботу системної змінної оточення в Linux

Зміни у файлі збережуться навіть після перезавантаження сесії, а кожен користувач і додаток зможуть без будь-яких проблем отримувати доступ до нових даних.

Навіть якщо надана сьогодні інформація здається вам дуже складною, настійно рекомендуємо розібратися в ній і зрозуміти як можна більше аспектів. Застосування подібних інструментів ОС допоможе уникнути накопичення додаткових файлів налаштувань для кожної програми, оскільки всі вони будуть звертатися до змінних. Це також забезпечує захист всіх параметрів і угруповання їх у межах одного розташування. Якщо вас цікавлять конкретні мало використовувані змінні оточення, звертайтеся до документації дистрибутива Linux.