Linux Professional Institute Learning Logo.
Перехід до основного вмісту
  • Головна
    • Усі ресурси
    • LPI Навчальні матеріали
    • Стати дописувачем
    • Видавничі партнери
    • Cтати видавничим партнером
    • Про нас
    • FAQ
    • Дописувачі
    • Дорожня карта
    • Контакти
  • LPI.org
2.1 Урок 2
Тема 1: Спільнота Linux та кар'єра у світі вільного програмного забезпечення
1.1 Розвиток Linux і популярні операційні системи
  • 1.1 Урок 1
1.2 Основні застосунки з відкритим кодом
  • 1.2 Урок 1
1.3 Відкрите програмне забезпечення та ліцензування
  • 1.3 Урок 1
1.4 ІКТ навички та робота в Linux
  • 1.4 Урок 1
Тема 2: Як знайти свій шлях у системі Linux
2.1 Основи командного рядку
  • 2.1 Урок 1
  • 2.1 Урок 2
2.2 Використання командного рядку для отримання допомоги
  • 2.2 Урок 1
2.3 Використання папок та перегляд списку файлів
  • 2.3 Урок 1
  • 2.3 Урок 2
2.4 Створення, переміщення та видалення файлів
  • 2.4 Урок 1
Тема 3: Потужність командного рядка
3.1 Архівація файлів через командний рядок
  • 3.1 Урок 1
3.2 Пошук та отримання даних з файлів
  • 3.2 Урок 1
  • 3.2 Урок 2
3.3 Перетворення команд у скрипт
  • 3.3 Урок 1
  • 3.3 Урок 2
Тема 4: Операційна система Linux
4.1 Вибір операційної системи
  • 4.1 Урок 1
4.2 Розуміння апаратного забезпечення комп'ютера
  • 4.2 Урок 1
4.3 Де зберігаються дані
  • 4.3 Урок 1
  • 4.3 Урок 2
4.4 Ваш комп'ютер у мережі
  • 4.4 Урок 1
Тема 5: Безпека та права доступу до файлів
5.1 Основи безпеки та визначення типів користувачів
  • 5.1 Урок 1
5.2 Створення користувачів та груп
  • 5.2 Урок 1
5.3 Керування дозволами та правами власності на файл
  • 5.3 Урок 1
5.4 Спеціальні папки та файли
  • 5.4 Урок 1
How to get certified
  1. Тема 2: Як знайти свій шлях у системі Linux
  2. 2.1 Основи командного рядку
  3. 2.1 Урок 2

2.1 Урок 2

Сертифікат:

Linux Essentials

Версія:

1.6

Розділ:

2 Знайдіть свій шлях у системі Linux

Тема:

2.1 Основи командного рядку

Урок:

2 з 2

Вступ

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

Змінні

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

У більшості оболонок Linux є два типи змінних:

Локальні змінні

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

Змінні середовища

Ці змінні доступні як у певному сеансі оболонки, так і в підпроцесах, породжених цим сеансом оболонки. Ці змінні можна використовувати для передачі даних конфігурації командам, які виконуються. Оскільки програми мають доступ до цих змінних, вони називаються змінними середовища. Більшість змінних середовища написані великими літерами (наприклад, PATH, DATE, USER). Набір змінних середовища за замовчуванням надає, наприклад, інформацію про домашній каталог користувача або тип терміналу. Іноді повний набір усіх змінних середовища називають середовищем.

Ці типи змінних також відомі як область дії змінної.

Note

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

Маніпулювання змінними

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

Робота з локальними змінними

Ви можете налаштувати локальну змінну за допомогою оператора = (дорівнює). Просте присвоєння створить локальну змінну:

$ greeting=hello
Note

Не ставте пробіл перед або після оператора =.

Ви можете відобразити будь-яку змінну за допомогою команди echo. Зазвичай команда відображає текст у розділі аргументів:

$ echo greeting
greeting

Щоб отримати доступ до значення змінної, вам потрібно буде використовувати $ (знак долара) перед назвою змінної.

$ echo $greeting
hello

Як бачимо, змінну створено. Тепер відкрийте іншу оболонку та спробуйте відобразити вміст створеної змінної.

$ echo $greeting

Нічого не відображається. Це ілюструє, що змінні завжди існують лише в певній оболонці.

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

$ echo $greeting world
hello world
$ bash -c 'echo $greeting world'
world
Note

Обов’язково використовуйте одинарні лапки у прикладі вище.

Щоб видалити змінну, вам потрібно буде використати команду unset:

$ echo $greeting
hey
$ unset greeting
$ echo $greeting
Note

unset вимагає ім’я змінної в якості аргументу. Тому ви не можете додавати $ до імені, оскільки це дозволить отримати доступ до змінної та передасть значення змінної в unset замість її імені.

Робота з глобальними змінними

Щоб зробити змінну доступною для підпроцесів, перетворите її з локальної на змінну середовища. Це робиться за допомогою команди export. Коли команда викликається з іменем змінної, ця змінна додається до середовища оболонки:

$ greeting=hello
$ export greeting
Note

Знову ж таки, переконайтеся, що не використовуєте $ під час запуску export, оскільки ви хочете передати ім’я змінної, а не її вміст.

Простіший спосіб створити змінну середовища - поєднати обидва вищезазначені методи, призначивши значення змінної в частині аргументу команди.

$ export greeting=hey

Давайте ще раз перевіримо, чи доступна змінна для підпроцесів:

$ export greeting=hey
$ echo $greeting world
hey world
$ bash -c 'echo $greeting world'
hey world

Інший спосіб використання змінних середовища — використання їх перед командами. Ми можемо перевірити це за допомогою змінної середовища TZ, яка містить часовий пояс. Ця змінна використовується командою date для визначення часового поясу для відображення:

$ TZ=EST date
Thu 31 Jan 10:07:35 EST 2019
$ TZ=GMT date
Thu 31 Jan 15:07:35 GMT 2019

Ви можете відобразити всі змінні середовища за допомогою команди env.

Змінна PATH

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

$ echo $PATH
/home/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Щоб додати новий каталог до змінної, вам потрібно буде використовувати знак двокрапки (:).

$ PATH=$PATH:new_directory

Ось приклад:

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$ PATH=$PATH:/home/user/bin
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/user/bin

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

$ mybin=/opt/bin
$ PATH=$PATH:$mybin
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/user/bin:/opt/bin

Зі змінною PATH потрібно поводитись обережно, оскільки вона має вирішальне значення для роботи з командним рядком. Давайте розглянемо наступну змінну PATH:

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Щоб дізнатися, як оболонка викликає певну команду, можна запустити команду which з назвою команди в якості аргументу. Наприклад, ми можемо спробувати дізнатися, де зберігається nano:

$ which nano
/usr/bin/nano

Як видно, виконуваний файл nano розташований у каталозі /usr/bin. Давайте видалимо каталог зі змінною та перевіримо, чи команда все ще працює:

$ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games

Давайте знову подивимося на команду nano:

$ which nano
which: no nano in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games)

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

Давайте повернемо каталоги та спробуємо запустити команду ще раз.

$ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$ which nano
/usr/bin/nano

Тепер наша команда знову працює.

Tip

Порядок елементів у PATH також визначає порядок пошуку. Перший відповідний виконуваний файл, знайдений під час проходження шляхів, буде виконаний.

Вправи до посібника

  1. Створіть локальну змінну number.

  2. Створіть змінну середовища ORDER, використовуючи один із двох вищенаведених методів.

  3. Відобразіть як імена змінних, так і їх вміст.

  4. Які області дії створених раніше змінних?

Дослідницькі вправи

  1. Створіть локальну змінну nr_files і призначте їй значення, що дорівнює кількості рядків, знайдених у файлі /etc/passwd. Підказка: Розберіться з командою wc і командою заміни та не забудьте про лапки.

  2. Створіть змінну середовища ME. Призначте їй значення змінної USER.

  3. Додайте значення змінної HOME до ME з роздільником :. Відобразіть вміст змінної ME.

  4. Використовуючи наведений вище приклад дати, створіть змінну під назвою today і призначте дату для одного з часових поясів.

  5. Створіть іншу змінну під назвою today1 і призначте їй системну дату.

Підсумки

У цій лабораторній роботі ви дізналися про:

  • Типи змінних

  • Як створити змінні

  • Як маніпулювати змінними

Команди, які використовуються у вправах:

env

Відображає поточне середовище.

echo

Виводить текст.

export

Робить локальні змінні доступними для підпроцесів.

unset

Видаляє змінну.

Відповіді до вправ посібника

  1. Створіть локальну змінну number.

    $ number=5
  2. Створіть змінну середовища ORDER, використовуючи один із двох вищенаведених методів.

    $ export ORDER=desc
  3. Відобразіть як імена змінних, так і їх вміст.

    $ echo number
    number
    $ echo ORDER
    ORDER
    $ echo $number
    5
    $ echo $ORDER
    desc
  4. Які області дії створених раніше змінних?

    • Область дії змінної number є поточна підоболонка.

    • Область дії змінної ORDER є поточна система.

Відповіді до дослідницьких вправ

  1. Створіть локальну змінну nr_files і призначте їй значення, що дорівнює кількості рядків, знайдених у файлі /etc/passwd. Підказка: Розберіться з командою wc і командою заміни та не забудьте про лапки.

    $ nr_files=`wc -l /etc/passwd`
  2. Створіть змінну середовища ME. Призначте їй значення змінної USER.

    $ export ME=$USER
  3. Додайте значення змінної HOME до ME з роздільником :. Відобразіть вміст змінної ME.

    $ ME=$ME:$HOME
    $ echo $ME
    user:/home/user
  4. Використовуючи наведений вище приклад дати, створіть змінну під назвою today і призначте дату для одного з часових поясів.

    Нижче наведені часові пояси за GMT та EST як приклад, але ви можете обрати будь-який часовий пояс.

    $ today=$(TZ=GMT date)
    $ echo $today
    Thu 31 Jan 15:07:35 GMT 2019

    або

    $ today=$(TZ=EST date)
    $ echo $today
    Thu 31 Jan 10:07:35 EST 2019
  5. Створіть іншу змінну під назвою today1 і призначте їй системну дату.

    Припустимо, що ви перебуваєте в поясі GMT:

    $ today1=$(date)
    $ echo $today1
    Thu 31 Jan 10:07:35 EST 2019

Linux Professional Institute Inc. Всі права захищені. Відвідайте веб-сайт навчальних матеріалів: https://learning.lpi.org
Ця робота ліцензована відповідно до міжнародної ліцензії Creative Commons Attribution-некомерційна-NoDerivatives 4.0.

Наступний Урок

2.2 Використання командного рядку для отримання допомоги (2.2 Урок 1)

Прочитайте наступний урок

Linux Professional Institute Inc. Всі права захищені. Відвідайте веб-сайт навчальних матеріалів: https://learning.lpi.org
Ця робота ліцензована відповідно до міжнародної ліцензії Creative Commons Attribution-некомерційна-NoDerivatives 4.0.

LPI є некомерційною організацією.

© 2023 Linux Professional Institute (LPI) - це глобальний стандарт сертифікації та організація підтримки кар'єри для професіоналів з відкритим вихідним кодом. Маючи понад 200 000 власників сертифікатів, це перший і найбільший в світі незалежний від постачальників орган з сертифікації Linux і з відкритим вихідним кодом. LPI має сертифікованих фахівців в більш ніж 180 країнах, здає іспити на декількох мовах і має сотні партнерів по навчанню.

Наша мета-надати економічні та творчі можливості для всіх, зробивши сертифікацію знань і навичок з відкритим вихідним кодом загальнодоступною.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Зв'яжіться з нами
  • Політика конфіденційності та Cookie-файлів

Помітили помилку або хочете допомогти поліпшити цю сторінку? Просимо дайте нам знати.

© 1999–2023 Linux Professional Institute Inc. Всі права захищені.