← Back to course

Змінні Середовища, Alias і Основи Shell

Змінні Середовища, Alias і Основи Shell

З поверненням.

У попередньому уроці ти навчився пакувати й розпаковувати файли через архіви.

Тепер ми заходимо у світ shell.

Саме тут термінал починає запам’ятовувати речі.

Змінні. Шляхи. Alias. Конфігураційні файли.

По суті, ми навчаємо термінал кількох звичок.

Бажано хороших.

Що Ти Вивчиш

У цьому уроці ти навчишся:

Місія

Твоя місія проста:

Зрозуміти, як shell зберігає інформацію і як створювати скорочення для команд, які ти часто використовуєш.

Бо вводити довгі команди знову і знову — це не дисципліна.

Це страждання з додатковими кроками.

Вивести Текст через echo

Команда echo виводить текст.

Спробуй:

echo "Привіт, термінале!"

Ти маєш побачити:

Привіт, термінале!

Просто.

Корисно.

Дуже ввічливо.

echo часто використовують, щоб виводити значення, тестувати змінні або створювати маленькі текстові файли.

Що Таке Змінна?

Змінна — це ім’я, яке зберігає значення.

Створи змінну:

name="Viktor"

Тепер виведи її:

echo $name

Ти маєш побачити:

Viktor

Важливо: не став пробіли навколо =.

Це правильно:

name="Viktor"

Це неправильно:

name = "Viktor"

Shell бачить пробіли і плутається.

Дуже потужний.

Дуже чутливий.

Як геніальний кіт.

Вбудовані Змінні Середовища

Linux уже має багато змінних середовища.

Спробуй:

echo $HOME

Можеш побачити:

/home/viktor

HOME зберігає шлях до твоєї домашньої директорії.

Спробуй:

echo $USER

Можеш побачити своє ім’я користувача.

Спробуй:

echo $SHELL

Можеш побачити щось таке:

/bin/bash

або:

/usr/bin/zsh

Це показує, яку shell ти використовуєш.

Змінна PATH

Одна з найважливіших змінних — PATH.

Спробуй:

echo $PATH

Можеш побачити щось таке:

/usr/local/bin:/usr/bin:/bin:/home/viktor/.local/bin

PATH каже shell, де шукати команди.

Коли ти вводиш:

ls

shell проходить по директоріях у PATH, поки не знайде програму ls.

Без PATH довелося б писати повні адреси команд, як дуже втомлений робот.

Знайти, Де Живе Команда

Використай:

command -v ls

Можеш побачити:

/usr/bin/ls

Спробуй:

command -v bash
command -v zsh
command -v python
command -v node

Деякі можуть існувати.

Деякі — ні.

Термінал чесний.

Іноді жорстко чесний.

Тимчасові Змінні

Змінні, створені в shell, зазвичай тимчасові.

Спробуй:

course="Linux Terminal"
echo $course

Ти маєш побачити:

Linux Terminal

Тепер закрий термінал і відкрий знову.

Спробуй:

echo $course

Скоріш за все, буде порожньо.

Shell забув.

Не тому, що він грубий.

А тому, що ти це не зберіг.

Експорт Змінної

Щоб зробити змінну доступною для дочірніх процесів, використовуй export.

Приклад:

export COURSE_NAME="Linux Terminal"

Тепер виконай:

echo $COURSE_NAME

Ти маєш побачити:

Linux Terminal

Змінні середовища часто використовують для конфігурації.

Наприклад:

export API_URL="http://localhost:8080"
export NODE_ENV="development"

Розробники використовують це постійно.

Бо хардкодити секрети в код — це спосіб перетворити проєкт на місце злочину.

Показати Змінні Середовища

Щоб побачити багато змінних середовища, використай:

env

Це може вивести багато тексту.

Можна шукати всередині:

env | grep HOME

Або:

env | grep PATH

Символ | передає результат env у grep.

Це називається pipe.

Pipe — одна з причин, чому термінал такий потужний.

І одна з причин, чому люди починають дивно усміхатися, коли користуються Linux.

Що Таке Alias?

Alias — це скорочення для команди.

Приклад:

alias ll="ls -la"

Тепер виконай:

ll

Це працює як:

ls -la

Це корисно, бо деякі команди довгі, а життя коротке.

Корисні Alias

Ось кілька корисних прикладів:

alias ll="ls -la"
alias gs="git status"
alias c="clear"
alias ..="cd .."

Тепер:

..

працює як:

cd ..

Виглядає як шахрайство.

Але це дозволено.

Linux не проти скорочень.

Linux проти дурниць.

Переважно.

Перевірити Існуючі Alias

Щоб побачити існуючі alias:

alias

Можливо, у тебе вже є кілька.

Багато систем створюють alias для безпеки або зручності.

Наприклад:

alias rm="rm -i"

Це питає перед видаленням.

Дуже обережно.

Дуже по-батьківськи.

Видалити Alias

Щоб видалити alias:

unalias ll

Тепер спробуй:

ll

Може більше не працювати.

Це нормально.

Ти видалив скорочення.

Термінал не тримає образ.

Зазвичай.

Зберегти Alias Назавжди

Alias, створені в терміналі, зникають після його закриття.

Щоб зберегти їх, додай у конфігураційний файл shell.

Якщо використовуєш Bash:

nano ~/.bashrc

Якщо використовуєш Zsh:

nano ~/.zshrc

Додай:

alias ll="ls -la"
alias c="clear"
alias ..="cd .."

Збережи файл.

Потім перезавантаж його.

Для Bash:

source ~/.bashrc

Для Zsh:

source ~/.zshrc

Тепер alias залишаються.

Термінал навчився.

Гордий момент.

Майже емоційний.

Перевірити, Яку Shell Ти Використовуєш

Виконай:

echo $SHELL

Якщо бачиш Bash:

/bin/bash

використовуй .bashrc.

Якщо бачиш Zsh:

/usr/bin/zsh

використовуй .zshrc.

Якщо ти використовуєш Arch Linux із Zsh, так, ти, мабуть, саме та людина, яка буде занадто сильно любити alias.

Типові Помилки

Пробіли навколо =

Неправильно:

name = "Viktor"

Правильно:

name="Viktor"

Shell тут строгий.

Без пробілів.

Не обговорюється.

Забути $

Це виведе слово name:

echo name

А це виведе значення змінної:

echo $name

$ означає:

Дай мені значення, яке зберігається в цій змінній.

Без $ shell думає, що тобі просто подобається говорити імена.

Зберегти alias не в той файл

Якщо ти використовуєш Zsh і редагуєш .bashrc, може нічого не змінитися.

Якщо використовуєш Bash і редагуєш .zshrc, може нічого не змінитися.

Спочатку перевір shell:

echo $SHELL

Потім редагуй правильний файл.

Сім разів відміряй.

Один раз редагуй.

Практика

Спробуй:

echo "Shell practice"
echo $HOME
echo $USER
echo $SHELL
echo $PATH
course="Linux Terminal"
echo $course
alias ll="ls -la"
ll
unalias ll

Потім дай відповіді:

  1. Що робить echo?
  2. Що показує $HOME?
  3. Що робить $PATH?
  4. Що створює alias?
  5. Чому alias зникають після закриття термінала?

Міні-Завдання

Створи три alias:

alias ll="ls -la"
alias home="cd ~"
alias ports="ss -tuln"

Потім:

  1. Запусти ll.
  2. Запусти home.
  3. Запусти ports.
  4. Збережи ці alias у .bashrc або .zshrc.
  5. Перезавантаж конфігураційний файл через source.

Без мишки.

Мишка тепер спостерігає з пенсії.

Підсумок

Сьогодні ти дізнався, що:

Shell — це не просто місце, де ти вводиш команди.

Це середовище, яке можна налаштовувати.

Обережно.

З силою.

І бажано без перетворення термінала на цирк.

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

У наступному уроці ми напишемо наш перший Bash-скрипт.

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

Термінал скоро почне робити нудну роботу за тебе.

Нарешті.