Команди для оптимізації адміністрування Linux
Якщо ви адмініструєте сервер, VPS або навіть локальну машину під управлінням Linux, ці команди покривають 90% ваших щоденних завдань: навігація, права доступу, усунення несправностей, мережа, журнали та автоматизація.
Потрібен сервер для практичних занять? Почніть із VPS на базі Linux (root-доступ, повний контроль) — це найшвидший спосіб набути практичних навичок адміністрування.
Як користуватися цим списком
- Відкрийте посібник у будь-який час:
man .
- Більшість інструментів підтримують
--help для швидкого огляду синтаксису.
- Будьте обережні з деструктивними командами, такими як
rm, dd, fsck (завжди перевіряйте ціль двічі).
A) Навігація та довідка
- pwd — відображення поточного каталогу. Приклад:
pwd
- ls — перелік файлів. Приклад:
ls -lah
- cd — зміна каталогу. Приклад:
cd /var/www
- tree — відображення дерева каталогів. Приклад:
tree -L 2
- stat — детальна інформація про файл. Приклад:
stat nginx.conf
- file — визначення типу файлу. Приклад:
file backup.tar.gz
- which — відображення шляху до бінарного файлу. Приклад:
which nginx
- whereis — пошук шляхів до бінарних файлів, вихідного коду та довідки. Приклад:
whereis python3
- type — показує, як оболонка розпізнає команду. Приклад:
type ls
- man — відкрити сторінки довідки. Приклад:
man systemctl
Б) Файли та каталоги
- touch — створює/оновлює часові мітки файлів.
touch note.txt
- mkdir — створює каталог.
mkdir -p /backup/daily
- rmdir — видаляє порожній каталог.
rmdir emptydir
- cp — копіює файли/каталоги.
cp -a /etc/nginx /backup/
- mv — переміщення/перейменування.
mv site.conf site.conf.bak
- rm — видалення файлів (використовувати з обережністю).
rm -i file.txt
- ln — створення посилань.
ln -s /var/www/site /srv/site
- rsync — швидка синхронізація/копіювання.
rsync -az /backup/ user@host:/data/
- dd — копіювання на низькому рівні (будьте дуже обережні).
dd if=/dev/zero of=test.img bs=1M count=100
- tar — архівування файлів.
tar -czf backup.tar.gz /etc
- gzip — стиснення gzip.
gzip -9 large.log
- xz — стиснення xz.
xz -T0 -9 archive.tar
- zip — архівування у форматі zip.
zip -r site.zip /var/www/site
- unzip — розпакування.
unzip site.zip
C) Перегляд та редагування тексту
- cat — вивести файл.
cat /etc/os-release
- less — перегляд великих файлів.
less /var/log/syslog
- head — перші рядки.
head -n 50 file.txt
- tail — останні рядки.
tail -n 100 file.txt
- nl — пронумеровані рядки.
nl -ba file.txt
- wc — підрахунок рядків/слів.
wc -l access.log
- sort — сортування рядків.
sort users.txt
- uniq — унікальні рядки.
sort file | uniq -c
- cut — вирізати стовпці.
cut -d: -f1 /etc/passwd
- paste — об’єднання рядків.
paste a.txt b.txt
- tr — перетворення символів.
tr 'A-Z' 'a-z' < IN
- sed — редагування потоку.
sed -n '1,20p' file
- awk — обробка тексту.
awk '{print $1}' file
- grep — пошук тексту.
grep -R "server_name" /etc/nginx
- xargs — побудова команд на основі вхідних даних.
grep -rl "TODO" . | xargs wc -l
- tee — запис та відображення.
echo "ok" | tee -a status.log
D) Пошук та визначення місця розташування
- find — пошук файлів за критеріями.
find /var/log -name "*.log" -mtime 7
- locate — швидкий пошук імен файлів.
locate nginx.conf
- updatedb — оновлення індексу locate.
sudo updatedb
E) Права доступу та контроль доступу
- chmod — зміна прав доступу.
chmod 640 file
- chown — зміна власника.
chown www-data:www-data /var/www -R
- chgrp — зміна групи.
chgrp www-data file
- umask — маска прав доступу за замовчуванням.
umask 027
- getfacl — перегляд ACL.
getfacl file
- setfacl — встановити ACL.
setfacl -m u:dev:rw file
- sudo — безпечно запустити як root.
sudo systemctl restart nginx
- su — перехід до іншого користувача.
su - user
F) Політика щодо користувачів та паролів
- id — відображення UID/GID.
id username
- groups — показати групи.
groups username
- useradd — створити користувача.
sudo useradd -m -s /bin/bash dev
- usermod — зміна даних користувача.
sudo usermod -aG sudo dev
- userdel — видалити користувача.
sudo userdel -r dev
- groupadd — створити групу.
sudo groupadd web
- groupmod — змінити групу.
sudo groupmod -n webteam web
- groupdel — видалити групу.
sudo groupdel web
- passwd — встановити пароль.
sudo passwd dev
- chage — зміна дати закінчення терміну дії пароля.
sudo chage -l dev
G) Управління пакетами (сімейства Debian/Ubuntu та RHEL)
- apt — встановлення/оновлення пакетів (Debian/Ubuntu).
sudo apt update && sudo apt install nginx
- dpkg — низькорівневий інструмент для .deb.
dpkg -l | grep nginx
- dnf — встановлення/оновлення пакетів (RHEL/Alma/Rocky).
sudo dnf install nginx
- rpm — низькорівневий інструмент для rpm.
rpm -qa | grep nginx
H) Служби, журнали та усунення несправностей
- systemctl — управління службами.
sudo systemctl status ssh
- journalctl — перегляд журналів systemd.
journalctl -u nginx -n 200 --no-pager
- dmesg — повідомлення ядра.
dmesg | tail
I) Процеси та продуктивність
- ps — перелік процесів.
ps aux | head
- top — моніторинг у реальному часі.
top
- htop — розширена версія top (якщо встановлено).
htop
- pgrep — пошук за PID.
pgrep nginx
- pkill — завершення за іменем.
pkill -HUP nginx
- kill — завершення за PID.
kill -TERM 1234
- killall — завершення за назвою процесу.
sudo killall nginx
- nice — запуск із пріоритетом.
nice -n 10 command
- renice — зміна пріоритету.
renice -n 5 -p 1234
- uptime — середні значення навантаження.
uptime
- free — використання оперативної пам'яті.
free -h
- vmstat — статистика ЦП/пам'яті.
vmstat 1 5
- iostat — статистика вводу-виводу диска (sysstat).
iostat -x 2 5
J) Диск та файлова система
- df — вільний простір на диску.
df -h
- du — розміри каталогів.
du -sh /var/*
- lsblk — блокові пристрої.
lsblk
- blkid — UUID/типи.
blkid
- mount — підключення файлової системи.
mount | grep /dev
- umount — змонтувати файлову систему.
sudo umount /mnt
- fsck — перевірка файлової системи (в автономному режимі!).
sudo fsck /dev/sdb1
K) Мережа та з'єднання
- ping — базова перевірка з'єднання.
ping -c 4 8.8.8.8
- traceroute — маршрут.
traceroute example.com
- mtr — трасування ping.
mtr -rw example.com
- curl — HTTP-запити.
curl -I https://example.com
- wget — завантаження файлів.
wget https://example.com/file.zip
- dig — пошук DNS.
dig A example.com
- nslookup — пошук DNS (простий).
nslookup example.com
- ip — IP/маршрути/з'єднання.
ip a
- ss — сокети/порти.
ss -tulpen
- nc — тестування TCP/UDP.
nc -zv 127.0.0.1 80
- tcpdump — перехоплення пакетів.
sudo tcpdump -i eth0 port 443
L) Автоматизація та планування
- crontab — заплановані завдання.
crontab -e
Приклад: щоденне очищення журналів о 03:30
30 3 * * * find /var/log -name "*.log" -mtime 14 -delete
Висновок
Ці 100 команд Linux надають вам потужний набір інструментів адміністратора: від операцій з файлами та прав до моніторингу, мережевих операцій та автоматизації. Найшвидший спосіб освоїти їх — це практикуватись на реальному сервері: VPS на базі Linux надає вам повний доступ та реальний досвід.