Linux основи

Шпаргалка по основних командах Linux для роботи з сервером. Всі приклади для Ubuntu/Debian, але працюють на більшості дистрибутивів.

Навігація по файловій системі

# Поточна директорія
pwd
# /home/user

# Перейти в директорію
cd /var/log
cd ~              # Домашня директорія
cd ..             # На рівень вище
cd -              # Попередня директорія

# Список файлів
ls
ls -la            # Детально, включно з прихованими
ls -lh            # Human-readable розміри
ls -lt            # Сортувати по часу

# Структура директорій
tree              # Дерево (apt install tree)
tree -L 2         # Глибина 2 рівні

Структура Linux

/
├── bin/       # Базові команди (ls, cp, mv)
├── etc/       # Конфігурації
├── home/      # Домашні директорії користувачів
   └── user/
├── var/       # Змінні дані
   ├── log/   # Логи
   └── www/   # Веб-файли
├── tmp/       # Тимчасові файли
├── opt/       # Додаткове ПЗ
└── usr/       # Програми користувача
    └── local/ # Локально встановлене

Робота з файлами

Перегляд вмісту

# Весь файл
cat file.txt

# Посторінково
less file.txt     # q - вихід, / - пошук

# Перші/останні рядки
head -20 file.txt
tail -20 file.txt
tail -f file.txt  # В реальному часі (для логів)

Копіювання, переміщення, видалення

# Копіювати
cp file.txt backup.txt
cp -r dir/ dir_copy/      # Директорію рекурсивно

# Перемістити/перейменувати
mv file.txt newname.txt
mv file.txt /other/dir/

# Видалити
rm file.txt
rm -r dir/                # Директорію
rm -rf dir/               # Без підтверджень (ОБЕРЕЖНО!)

# Створити директорію
mkdir newdir
mkdir -p path/to/deep/dir # Всі батьківські

# Створити порожній файл
touch newfile.txt

Пошук файлів

# По імені
find /var/log -name "*.log"
find . -name "config*"

# По типу
find . -type f            # Тільки файли
find . -type d            # Тільки директорії

# По часу модифікації
find . -mtime -7          # Змінені за останні 7 днів

# По розміру
find . -size +100M        # Більше 100 MB

Пошук в файлах

# Текст в файлі
grep "error" logfile.txt
grep -i "error" logfile.txt    # Без врахування регістру
grep -r "TODO" ./src/          # Рекурсивно в директорії
grep -n "error" file.txt       # З номерами рядків

# Кількість входжень
grep -c "error" logfile.txt

Права доступу

-rw-r--r-- 1 user group 4096 Jan 17 12:00 file.txt
│├──┼──┼──│
││  │  │  └── Others (інші)
││  │  └───── Group (група)
││  └──────── User (власник)
│└─────────── Тип (- файл, d директорія)

Права

Символ Число Значення
r 4 Читання
w 2 Запис
x 1 Виконання
# Змінити права
chmod 755 script.sh       # rwxr-xr-x
chmod 644 file.txt        # rw-r--r--
chmod +x script.sh        # Додати виконання

# Змінити власника
chown user:group file.txt
chown -R user:group dir/  # Рекурсивно

# Типові права
# 755 — для скриптів і директорій
# 644 — для звичайних файлів
# 600 — для приватних файлів (SSH ключі)

Процеси

Перегляд

# Список процесів
ps aux
ps aux | grep nginx       # Фільтрація

# Інтерактивно
top
htop                      # Краща версія (apt install htop)

# Дерево процесів
pstree

Управління

# Завершити процес
kill PID                  # Graceful
kill -9 PID               # Force (SIGKILL)

# По імені
pkill nginx
killall nginx

# Запустити у фоні
./script.sh &

# Вивести з фону
jobs                      # Список фонових задач
fg %1                     # Повернути задачу 1

Диски і пам'ять

# Використання дисків
df -h
# Filesystem      Size  Used Avail Use% Mounted on
# /dev/sda1        80G   45G   35G  57% /

# Розмір директорій
du -sh /var/log
du -h --max-depth=1 /var

# Найбільші директорії
du -h /var | sort -rh | head -10

# Використання RAM
free -h
#               total   used   free  shared  buff/cache
# Mem:          4.0Gi  1.5Gi  0.5Gi   128Mi       2.0Gi

# Детально по процесах
ps aux --sort=-%mem | head -10

Мережа

Перевірка з'єднань

# Мережеві інтерфейси
ip addr
ip a                      # Скорочено

# Маршрути
ip route

# Відкриті порти
ss -tulnp
# -t TCP, -u UDP, -l listening, -n numeric, -p process

# Перевірка доступності
ping 8.8.8.8
ping -c 4 google.com      # 4 пакети

# DNS lookup
nslookup google.com
dig google.com

# Трасування маршруту
traceroute google.com
mtr google.com            # Інтерактивний (apt install mtr)

HTTP запити

# Отримати сторінку
curl https://example.com

# Тільки заголовки
curl -I https://example.com

# Зберегти файл
curl -O https://example.com/file.zip
wget https://example.com/file.zip

# POST запит
curl -X POST -d "data=value" https://api.example.com

# JSON
curl -X POST \
  -H "Content-Type: application/json" \
  -d '{"key": "value"}' \
  https://api.example.com

Архіви

# tar.gz (найпоширеніший)
tar -czvf archive.tar.gz dir/    # Створити
tar -xzvf archive.tar.gz         # Розпакувати
tar -tzvf archive.tar.gz         # Переглянути вміст

# zip
zip -r archive.zip dir/
unzip archive.zip

# Ключі tar:
# -c create, -x extract, -t list
# -z gzip, -j bzip2
# -v verbose, -f file

Текстові редактори

nano (простий)

nano file.txt

# Управління:
# Ctrl+O  — зберегти
# Ctrl+X  — вийти
# Ctrl+W  — пошук
# Ctrl+K  — вирізати рядок
# Ctrl+U  — вставити

vim (потужний)

vim file.txt

# Режими:
# i        — режим вставки
# Esc      — командний режим
# :w       — зберегти
# :q       — вийти
# :wq      — зберегти і вийти
# :q!      — вийти без збереження
# dd       — видалити рядок
# /text    — пошук
# n        — наступний результат

Користувачі та групи

# Інформація про поточного користувача
whoami
id

# Список користувачів
cat /etc/passwd

# Створити користувача
sudo adduser newuser

# Додати до групи
sudo usermod -aG docker newuser

# Змінити пароль
passwd                    # Свій
sudo passwd username      # Іншого

# Видалити користувача
sudo deluser username

Системна інформація

# ОС та ядро
uname -a
cat /etc/os-release

# Апаратне забезпечення
lscpu                     # CPU
lsmem                     # RAM
lsblk                     # Диски

# Час роботи системи
uptime

# Історія команд
history
history | grep "docker"

Pipe та перенаправлення

# Pipe — передати вивід однієї команди іншій
cat file.txt | grep "error" | wc -l

# Перенаправлення в файл
echo "text" > file.txt    # Перезаписати
echo "text" >> file.txt   # Додати

# Stderr
command 2> errors.log     # Тільки помилки
command &> all.log        # Все

# /dev/null — "чорна діра"
command > /dev/null 2>&1  # Ігнорувати весь вивід

Корисні комбінації

# Пошук і дія
find . -name "*.tmp" -delete
find . -name "*.log" -exec gzip {} \;

# Перегляд логів в реальному часі з фільтром
tail -f /var/log/syslog | grep --line-buffered "error"

# Топ найбільших файлів
find / -type f -exec du -h {} + 2>/dev/null | sort -rh | head -20

# Кількість файлів
find . -type f | wc -l

# Унікальні IP з логу
cat access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head

Гарячі клавіші терміналу

Клавіша Дія
Ctrl+C Перервати команду
Ctrl+D Вихід (EOF)
Ctrl+L Очистити екран
Ctrl+R Пошук в історії
Ctrl+A На початок рядка
Ctrl+E В кінець рядка
Ctrl+U Видалити до початку
Ctrl+K Видалити до кінця
Tab Автодоповнення
↑↓ Історія команд

Типові помилки

Permission denied

# Проблема
cat /var/log/syslog
# Permission denied

# Рішення
sudo cat /var/log/syslog
# Або стати власником/додати права

Command not found

# Проблема
htop
# Command not found

# Рішення
sudo apt install htop

No space left on device

# Знайти що займає місце
df -h
du -h --max-depth=1 / | sort -rh | head

# Очистити
sudo apt autoremove
sudo journalctl --vacuum-time=3d
docker system prune

Див. також

Шлях: getting-started/linux-basics.md

UMTC Wiki © 2026 | Ukrainian Military Tactical Communications