Вступ до Linux: WSL, дистрибутиви, структура ФС, базові команди
Linux — операційна система, що працює на 90% серверів інтернету, 100% суперкомп'ютерів і всіх Android-телефонах. Якщо плануєш бути devops, backend-розробником чи системним адміністратором — Linux обов'язковий.
Що таке Linux
- Linux — ядро операційної системи, написане Лінусом Торвальдсом у 1991
- Дистрибутив — пакет: ядро + пакетний менеджер + базові утиліти. Популярні: Ubuntu, Debian, CentOS/RHEL, Arch, Alpine.
Для DevOps починаємо з Ubuntu 24.04 LTS або Debian 12 — стабільні, документовані, найпоширеніші на серверах.
Як отримати Linux
Варіант 1: WSL2 (Windows Subsystem for Linux)
На Windows 10/11 — найкращий шлях для навчання:
# В PowerShell від адміна:
wsl --install
# Перезавантаж комп'ютер
# Після перезавантаження відкриється Ubuntu з встановленням
Потім просто wsl у CMD/PowerShell — і ти в Ubuntu.
Варіант 2: Віртуальна машина
- VirtualBox (безкоштовний) → Ubuntu Desktop
- VMware Workstation Player (безкоштовний для особистого)
Варіант 3: Хмарний сервер
VPS за 5-10$/міс: Hetzner, DigitalOcean, Linode. Ідеально для практики «як на проді».
Варіант 4: Dual boot
Поставити Linux поруч з Windows на той самий диск. Складніше, але повноцінний досвід.
Структура Linux-системи
/ — корінь
├── bin/ — базові команди (ls, cat, cp)
├── boot/ — завантажувальні файли (ядро, grub)
├── dev/ — пристрої (диски, USB, термінали)
├── etc/ — конфіги системи (КРИТИЧНА папка!)
│ ├── nginx/
│ ├── ssh/
│ └── passwd — список користувачів
├── home/ — домашні теки користувачів
│ └── olena/ — твоя
├── lib/ — бібліотеки
├── mnt/, /media/ — точки монтування
├── opt/ — стороннє ПЗ
├── proc/ — віртуальна ФС про процеси
├── root/ — домашня тека root
├── tmp/ — тимчасові файли (чиститься)
├── usr/ — користувацьке ПЗ (НЕ для користувачів — для системи)
│ ├── bin/ — встановлені програми
│ ├── lib/
│ └── local/ — твоє ПЗ, не з пакетів
└── var/ — змінні дані: логи, бази, кеш
├── log/ — логи всіх сервісів
└── www/ — HTML/сайти (інколи)
Запам'ятай: /etc/, /var/log/, /home/, /usr/bin/ — будеш ходити сюди постійно.
Перші команди
pwd # де я зараз (print working directory)
ls # список файлів
ls -lh /etc # детальний список з людськими розмірами
ls -la # включно з прихованими (.файли)
cd /var/log # перейти
cd ~ # в домашню теку (= /home/olena)
cd - # назад до попередньої
cd .. # на рівень вище
whoami # хто я зараз (юзер)
id # uid, gid, групи
date # дата і час
uptime # скільки часу система не вимикалась
df -h # вільне місце на дисках
free -h # вільна пам'ять
top # процеси (q для виходу)
Документація
man ls # man pages — повна документація
ls --help # коротка
tldr ls # сучасна шпаргалка (треба встановити: apt install tldr)
man — найважливіше джерело. Усе є в man-сторінках. Гортай стрілками, виходь — q.
Хто такий root
root — суперкористувач. Може все: видаляти системні файли, змінювати конфіги, ставити пакети. Не сиди постійно під root — легко зламати систему.
sudo команда # виконати від root, ввівши свій пароль
sudo apt install nginx
sudo systemctl restart nginx
sudo — стандарт. Лише адмінські операції — через нього.
Tip: Tab-автодоповнення
В терміналі натискай Tab — Bash дописує імена команд, файлів, каталогів. Подвійний Tab показує варіанти. Освоїти Tab — кардинально пришвидшує роботу.
Tip: Історія команд
history # 500 останніх команд
!5 # повторити команду #5
!! # повторити останню
↑ / ↓ # перегортати історію
Ctrl+R # пошук в історії (інтерактивно)
Тест: перевір себе
- Чим Linux-ядро відрізняється від дистрибутива?
- Що зберігається в
/etc? - Як показати приховані файли?
- Чому не варто сидіти під
root? - Як подивитись зайняте місце на диску?
Відповіді
- Ядро (kernel) — це базовий «двигун» Linux, що написав Торвальдс. Дистрибутив — це готовий продукт: ядро + пакетний менеджер (apt, dnf) + базові утиліти + інсталер. Ubuntu, Debian, Arch — різні дистрибутиви на одному ядрі.
- Конфіги системи й сервісів: SSH (
/etc/ssh/sshd_config), nginx (/etc/nginx/), користувачі (/etc/passwd), мережа. Це критична папка — змінювати акуратно. ls -la(або просто-a). Файли, що починаються з.— приховані.- Один невірний
rm— і ти видалив систему.sudoзмушує задуматись перед адмінськими операціями і вводити пароль (іноді). Принцип найменших привілеїв. df -h— diskfree, з людськими розмірами.du -sh /path— розмір конкретної теки.