Linux: операційна система для розробників
Linux працює на 96% серверів у хмарі, 80% смартфонів (Android) та більшості суперкомп\'ютерів. Для розробника Linux -- робоче середовище: термінал, пакетні менеджери, Docker, SSH-доступ до серверів. Основні дистрибутиви: Ubuntu (початківці), Fedora (свіжі пакети), Debian (стабільність), Arch (контроль). Bash та Zsh -- командні оболонки для роботи з файлами, процесами та автоматизації.
| Команда | Дія |
|---|---|
| ls -la | Список файлів з деталями та прихованими |
| cd / pwd | Змінити / показати поточну директорію |
| grep -r "text" . | Рекурсивний пошук тексту у файлах |
| chmod 755 file | Змінити права доступу |
| cat / less / head / tail | Перегляд вмісту файлу |
| ps aux / top / htop | Список процесів / монітор ресурсів |
| ssh user@host | Підключення до віддаленого сервера |
| sudo apt install pkg | Встановити пакет (Ubuntu/Debian) |
Pipe, grep та Bash-скрипти
Pipe (|) з\'єднує вивід однієї команди з вводом іншої: cat log.txt | grep "error" | wc -l рахує кількість рядків з помилками. Перенаправлення: > (записати у файл), >> (додати), 2> (помилки). grep шукає текст за шаблоном (підтримує regex). find шукає файли за іменем, розміром, датою. sed та awk обробляють текст потоково. Bash-скрипти автоматизують рутинні задачі: змінні, цикли (for, while), умови (if), функції. Cron запускає скрипти за розкладом.
Права доступу (chmod)
- r (4) -- читання
- w (2) -- запис
- x (1) -- виконання
- 755 -- rwxr-xr-x (власник все, інші читання+виконання)
- chmod +x script.sh -- зробити виконуваним
Мережа та SSH
- ssh-keygen -- генерація ключів
- scp -- копіювання файлів через SSH
- curl / wget -- HTTP-запити з терміналу
- netstat / ss -- мережеві з\'єднання
- ping / traceroute -- діагностика мережі
Файлова система, процеси та сервіси
Linux файлова система починається з / (root): /home (користувачі), /etc (конфігурація), /var (логи), /tmp (тимчасові), /usr (програми). Все у Linux -- файл, включаючи пристрої (/dev). Процеси мають PID; kill надсилає сигнал процесу (SIGTERM, SIGKILL). systemd керує сервісами: systemctl start/stop/enable. Пакетні менеджери: apt (Ubuntu), dnf (Fedora), pacman (Arch). Environment variables ($PATH, $HOME) налаштовують оточення.
Про тест
Тест «Linux для розробників» містить 20 питань про команди терміналу, pipe, grep, chmod, SSH, Bash-скрипти, файлову систему, процеси та пакетні менеджери.