FFlauron
DevOps Linux
Безкоштовний урок-прев'ю

Вступ до 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            # пошук в історії (інтерактивно)

Тест: перевір себе

  1. Чим Linux-ядро відрізняється від дистрибутива?
  2. Що зберігається в /etc?
  3. Як показати приховані файли?
  4. Чому не варто сидіти під root?
  5. Як подивитись зайняте місце на диску?
Відповіді
  1. Ядро (kernel) — це базовий «двигун» Linux, що написав Торвальдс. Дистрибутив — це готовий продукт: ядро + пакетний менеджер (apt, dnf) + базові утиліти + інсталер. Ubuntu, Debian, Arch — різні дистрибутиви на одному ядрі.
  2. Конфіги системи й сервісів: SSH (/etc/ssh/sshd_config), nginx (/etc/nginx/), користувачі (/etc/passwd), мережа. Це критична папка — змінювати акуратно.
  3. ls -la (або просто -a). Файли, що починаються з . — приховані.
  4. Один невірний rm — і ти видалив систему. sudo змушує задуматись перед адмінськими операціями і вводити пароль (іноді). Принцип найменших привілеїв.
  5. df -h — diskfree, з людськими розмірами. du -sh /path — розмір конкретної теки.

Сподобався урок?

Придбайте повний курс, щоб отримати доступ до всіх уроків.

Перейти до курсу