Корисні команди Linux (Ubuntu): практичний довідник для системних адміністраторів та DevOps
Вступ
Linux є основою більшості сучасної серверної інфраструктури. Веб-сервери, системи контейнеризації, хмарні платформи, CI/CD-пайплайни та мережеві сервіси у переважній більшості випадків працюють саме на Linux. Серед різних дистрибутивів особливу популярність має Ubuntu, який поєднує стабільність, простоту адміністрування та величезну екосистему пакетів.
Попри наявність графічних інтерфейсів, більшість адміністративних задач у Linux виконуються через командний рядок. CLI (Command Line Interface) забезпечує швидкість роботи, можливість автоматизації, точний контроль над системою та ефективне адміністрування віддалених серверів.
Для системних адміністраторів, DevOps-інженерів, розробників та фахівців з кібербезпеки знання основних команд Linux є фундаментальною навичкою. Більшість щоденних операцій - керування файлами, аналіз логів, діагностика мережі, моніторинг ресурсів - виконуються саме через термінал.
У цій статті розглянуто найбільш корисні команди Linux (Ubuntu), які використовуються у повсякденній роботі адміністраторів і DevOps-інженерів. Матеріал містить пояснення, приклади використання, таблиці довідкових команд та практичні кейси.
Основні команди Linux для роботи з файлами
Файлова система Linux має ієрархічну структуру, яка починається з кореневого каталогу /. Робота з файлами та каталогами є базовою задачею для будь-якого користувача Linux.
Таблиця базових команд файлової системи
| Команда | Призначення | Приклад | Пояснення | |
|---|---|---|---|---|
| pwd | Показує поточний каталог |
| Виводить абсолютний шлях | |
| ls | Перегляд файлів | ls -la | Показує всі файли включно з прихованими | |
| cd | Перехід між каталогами | cd /var/log | Перехід у каталог | |
| touch | Створення файлу | touch file.txt | Створює новий файл | |
| mkdir | Створення каталогу | mkdir logs | Створює директорію | |
| cp | Копіювання файлів | cp file.txt backup/ | Копіює файл | |
| mv | Переміщення або перейменування | mv file.txt archive/ | Переміщує файл | |
| rm | Видалення файлу | rm file.txt | Видаляє файл | |
| rm -rf | Видалення каталогу | rm -rf old_logs | Рекурсивне видалення |
Приклад використання
Створення структури проєкту:
mkdir -p project/{logs,config,backup}
touch project/config/app.conf
Ця команда створює структуру каталогів для майбутнього сервісу.
Команди для перегляду та аналізу файлів
У серверному адмініструванні часто необхідно швидко аналізувати файли конфігурації або системні логи.
Таблиця команд перегляду файлів
| Команда | Призначення | Приклад |
|---|---|---|
| cat | Показує весь файл | cat config.yml |
| less | Перегляд великих файлів | less /var/log/syslog |
| head | Показує початок файлу | head -n 20 log.txt |
| tail | Показує кінець файлу | tail -n 50 log.txt |
| tail -f | Моніторинг логів | tail -f nginx.log |
tail -f /var/log/nginx/error.log
Команда використовується для відстеження помилок у реальному часі.
Пошук у Linux
Пошук файлів та тексту - одна з найпоширеніших задач системного адміністратора.
Таблиця команд пошуку
| Команда | Призначення | Приклад |
|---|---|---|
| find | Пошук файлів | find /home -name "*.log" |
| grep | Пошук тексту | grep error log.txt |
| locate | Швидкий пошук файлів | locate nginx.conf |
| which | Пошук бінарного файлу | which python3 |
grep -i "error" /var/log/nginx/error.log
Параметр -i ігнорує регістр символів.
Команди моніторингу системи
Адміністрування серверів неможливе без моніторингу використання ресурсів.
Таблиця команд моніторингу
| Команда | Призначення | Приклад |
|---|---|---|
| top | Моніторинг процесів | top |
| htop | Покращений моніторинг | htop |
| free | Використання RAM | free -h |
| df | Використання диску | df -h |
| du | Розмір каталогів | du -sh * |
| uptime | Час роботи системи | uptime |
free -h
Приклад результату:
total used free 16G 6G 10G
Команди керування процесами
У Linux кожна програма запускається як процес. Керування процесами є ключовою задачею адміністратора.
Таблиця команд процесів
| Команда | Призначення | Приклад |
|---|---|---|
| ps | Список процесів | ps aux |
| kill | Завершення процесу | kill 1234 |
| kill -9 | Примусове завершення | kill -9 1234 |
| pkill | Завершення за назвою | pkill nginx |
| nice | Пріоритет процесу | nice -n 10 command |
Приклад
Пошук процесу nginx:
ps aux | grep nginx
Команди мережевої діагностики
У DevOps та системному адмініструванні часто потрібно перевіряти мережеві підключення та відкриті порти.
Таблиця мережевих команд
| Команда | Призначення | Приклад |
|---|---|---|
| ip | Інформація про мережу | ip a |
| ping | Перевірка доступності | ping google.com |
| curl | HTTP-запити | curl https://example.com |
| wget | Завантаження файлів | wget file.iso |
| ss | Перегляд портів | ss -tulpn |
| netstat | Мережеві з'єднання | netstat -tulpn |
ss -tulpn
Команда показує всі активні порти та процеси.
Команди управління пакетами в Ubuntu
Ubuntu використовує пакетний менеджер APT.
Таблиця команд APT
| Команда | Призначення |
|---|---|
| apt update | Оновлення списку пакетів |
| apt upgrade | Оновлення системи |
| apt install | Встановлення пакета |
| apt remove | Видалення пакета |
| apt purge | Повне видалення |
| apt autoremove | Видалення залежностей |
Приклад встановлення веб-сервера
sudo apt update sudo apt install nginx
Команди управління правами доступу
Linux використовує модель прав доступу для забезпечення безпеки.
Таблиця команд доступу
| Команда | Призначення |
|---|---|
| chmod | Зміна прав |
| chown | Зміна власника |
| chgrp | Зміна групи |
chmod 755 script.sh
Це робить файл виконуваним.
Архівування та резервне копіювання
Архівування використовується для резервного копіювання даних.
Таблиця команд архівування
| Команда | Призначення |
|---|---|
| tar | Створення архівів |
| gzip | Стиснення |
| zip | ZIP архів |
| unzip | Розпакування |
tar -czf backup.tar.gz /var/www
Практичні кейси використання команд Linux
Пошук великих файлів
find / -type f -size +1G
Команда знаходить файли більше 1 ГБ.
Аналіз логів сервера
grep "500" /var/log/nginx/access.log
Пошук HTTP-помилок.
Визначення процесу, що використовує порт
ss -tulpn | grep :80
Перевірка використання дискового простору
du -sh /var/*
Розширені команди Linux для DevOps
| Команда | Призначення |
|---|---|
| watch | Повторює команду |
| history | Історія команд |
| alias | Створення скорочень |
| xargs | Передача аргументів |
| awk | Обробка тексту |
| sed | Редагування тексту |
watchwatch -n 2 df -h
Команда показує використання диску кожні 2 секунди.
Висновки
Командний рядок Linux є потужним інструментом для адміністрування операційної системи. Навіть базові команди дозволяють виконувати більшість щоденних задач: керування файлами, моніторинг ресурсів, аналіз мережі та обробку логів.
Для системних адміністраторів і DevOps-інженерів ефективна робота з CLI значно підвищує продуктивність. Команди Linux легко інтегруються у скрипти автоматизації, системи CI/CD та інструменти керування інфраструктурою.
Важливо не лише знати окремі команди, але й розуміти, як їх комбінувати. Поєднання утиліт grep, find, awk, sed, tail, curl дозволяє будувати потужні пайплайни обробки даних та ефективно керувати серверними середовищами.
Регулярна практика та використання команд у реальних задачах допоможуть швидко поглибити знання Linux та підвищити ефективність роботи з серверною інфраструктурою.