🐧 Командний рядок Linux

Multilingual DevOps cheat sheet: Linux, Docker, Git, Kubernetes, Helm, Terraform, practical scenarios & templates.
Опубліковано

31 серпня 2025 р.

Базові та розширені команди для навігації, файлів, процесів, мережі, моніторингу, пакетів та автоматизації. Підходить для DevOps-робочих процесів.

🔹 Базові команди

Команда

Приклад

Опис

cat Показати вміст файлу або об’єднати кілька файлів
cat file.txt

Переглянути вміст файлу

cat file1 file2

Об’єднати та вивести два файли

cat file1 file2 > merged.txt

Об’єднати файли та зберегти в новий файл

cd Змінити поточний робочий каталог
cd /etc

Перейти за абсолютним шляхом /etc

cd ~

Перейти в домашній каталог

cd ..

Піднятися на один рівень вище

cd -

Повернутися до попереднього каталогу

clear Очистити екран термінала
cp Копіювати файли та каталоги
cp file1.txt file2.txt

Копіювати файл з новим ім’ям

cp -r dir1 dir2

Рекурсивно копіювати каталог

cp -i file.txt /tmp/

Копіювати з підтвердженням перед перезаписом

echo Вивести рядок або змінну середовища
echo "Hello, World!"

Вивести простий рядок

echo $HOME

Показати шлях до домашнього каталогу

echo -e "1\t2\n3"

Інтерпретувати escape-послідовності ( )

history Показати історію команд
id Показати UID, GID та групи поточного користувача
ls Список файлів і каталогів
ls -l

Довгий список з правами доступу та власниками

ls -a

Показати приховані файли

ls -lh

Розміри у зручному для читання форматі

mkdir Створити каталоги
mkdir folder

Створити один каталог

mkdir -p a/b/c

Створити вкладені каталоги

mkdir dir{1,2,3}

Створити кілька каталогів одразу

mv Перемістити або перейменувати файли/каталоги
mv oldname.txt newname.txt

Перейменувати файл

mv file.txt /path/to/dir/

Перемістити файл в інший каталог

mv *.txt archive/

Перемістити всі .txt файли в теку archive

pwd Показати поточний робочий каталог
pwd -P

Показати фізичний шлях (без симлінків)

cd /tmp && pwd

Показати шлях після переходу в /tmp

rm Видалити файли або каталоги
rm file.txt

Видалити файл

rm -i file.txt

Видалити файл з підтвердженням

rm -r folder/

Рекурсивно видалити каталог

rm -rf folder/

Примусове видалення без підтвердження

rmdir Видалити порожній каталог
rmdir emptydir

Видалити каталог emptydir

touch Створити порожні файли або оновити час модифікації
touch newfile.txt

Створити новий порожній файл, якщо він не існує

touch a b c

Створити кілька файлів одразу

touch -c file.txt

Оновити час без створення файлу, якщо він відсутній

whereis Знайти виконуваний файл, вихідний код і man-сторінки команди
whereis ls

Знайти розташування для ls

whereis bash

Показати шляхи для Bash і документації

whereis -b bash

Шукати лише виконуваний файл

which Показати шлях до виконуваного файлу команди
which python3

Шлях до python3

which grep

Шлях до grep

which --skip-alias ls

Пропустити псевдоніми при пошуку

whoami Вивести ім’я поточного користувача

🔸 Середній рівень

Команда

Приклад

Опис

chmod Змінити права доступу до файлу чи каталогу
chmod 755 file

Встановити права у вісімковій нотації (наприклад, 755)

chmod +x script.sh

Додати право на виконання для скрипта

chmod -R 644 dir/

Рекурсивно встановити права для каталогу

chown Змінити власника файлу та групу
chown user file

Змінити власника файлу

chown user:group file

Змінити власника і групу

chown -R user:group dir/

Рекурсивно змінити власника і групу

curl Передача даних з/на сервер (HTTP, HTTPS тощо)
curl -I https://example.com

Надіслати HEAD-запит (лише заголовки)

curl -O https://example.com/file.txt

Завантажити файл і зберегти з початковою назвою

curl -d "a=1&b=2" -X POST URL

Надіслати POST-запит з форм-даними

df Показати використання дискового простору файлової системи
df -h

У зручному для читання форматі

df /home

Використання конкретної точки монтування

df -T

Показати типи файлових систем

diff Порівняти файли або каталоги
diff file1 file2

Порівняти два файли

diff -u old.c new.c

Уніфікований diff (у стилі патча)

diff -r dir1 dir2

Рекурсивне порівняння каталогів

du Оцінити використання місця файлами та каталогами
du -sh *

Показати розмір елементів у поточному каталозі

du -h file.txt

Показати розмір одного файлу

du -sh --max-depth=1 /var

Підсумувати розміри підкаталогів верхнього рівня

find Пошук файлів/каталогів за назвою, розміром, часом тощо
find . -name "*.log"

Знайти всі .log файли у поточному каталозі

find / -type f -size +100M

Знайти файли більше ніж 100 МБ

find . -mtime -1

Файли, змінені за останній день

free Показати кількість вільної та використаної пам’яті
free -h

У зручних одиницях

free -m

Показати значення у МБ

watch -n 2 free -h

Оновлювати кожні 2 секунди

grep Пошук тексту за шаблонами (регулярними виразами)
grep "error" logfile

Знайти рядки з error

grep -r "error" /var/log

Рекурсивний пошук у каталозі

grep -i "fail" file

Пошук без урахування регістру

head Вивести перші рядки файлу
head -n 10 file

Перші 10 рядків

head -n 20 file.txt

Перші 20 рядків

head -c 100 file

Перші 100 байтів

hostname Показати або встановити ім’я хоста системи
hostname newname

Тимчасово встановити ім’я до перезавантаження

hostname -I

Показати IP-адреси

kill Надіслати сигнали процесам
kill -9 1234

Примусово завершити процес за PID

kill -TERM 1234

Акуратно завершити SIGTERM

pkill -f python

Завершити процеси за шаблоном

ping Перевірка мережевого з’єднання через ICMP
ping 8.8.8.8

Ping адреси

ping -c 4 ya.ru

Надіслати 4 пакети

ping -i 2 1.1.1.1

Інтервал 2 секунди

ps Показати статус процесів
ps aux

Список усіх процесів

ps -ef | grep nginx

Фільтрація за назвою через grep

ps -u $USER

Процеси поточного користувача

rsync Швидка інкрементальна передача файлів
rsync -av src/ dst/

Синхронізувати каталоги локально

rsync -avz user@host:/src /dst

Синхронізувати з віддаленим хостом через SSH

rsync --delete src/ dst/

Видаляти файли у приймача, яких немає у джерелі

scp Захищене копіювання (передача файлів по SSH)
scp file user@host:/path

Скопіювати файл на віддалений хост

scp user@host:/file.txt .

Скопіювати файл з віддаленого хоста

scp -r dir user@host:/path

Рекурсивно скопіювати каталог

sort Сортування рядків тексту
sort file.txt

Алфавітне сортування

sort -r file.txt

У зворотному порядку

sort -n numbers.txt

Числове сортування

tail Вивести останню частину файлів; стежити за змінами
tail -f logfile.log

Стежити за логом у реальному часі

tail -n 20 file.txt

Показати останні 20 рядків

tail -c 100 file.txt

Показати останні 100 байтів

tar Створення, перегляд або розпакування архівів tar
tar -czf archive.tgz dir/

Створити стиснутий .tgz архів

tar -xzf archive.tgz

Розпакувати .tgz архів

tar -tf archive.tgz

Переглянути вміст архіву

tee Читати зі stdin і писати у stdout та файли
echo "test" | tee out.txt

Записати в out.txt та показати на екрані

ls | tee list.txt

Зберегти результат ls у файл і показати його

command | tee -a log.txt

Дописати в кінець файлу log.txt

top Показати процеси Linux (інтерактивний монітор)
top

Запустити top

htop

Альтернативний монітор (htop)

top -o %MEM

Сортувати за використанням пам’яті

uptime Показати, скільки часу працює система
uptime -p

Красивий формат

uptime -s

Час завантаження системи

wget Неінтерактивне завантаження з мережі
wget https://site.com/file.zip

Завантажити файл за URL

wget -c file.zip

Відновити перерване завантаження

wget -O saved.txt URL

Зберегти з іншою назвою

wc Порахувати рядки, слова та байти у файлі
wc -l file

Порахувати рядки

wc -w file

Порахувати слова

wc -m file

Порахувати символи

uniq Показати або відфільтрувати повторювані рядки
uniq file.txt

Видалити сусідні дублікати

sort file | uniq

Видалити дублікати після сортування

sort file | uniq -c

Порахувати кількість кожного рядка

yes Виводити рядок безкінечно; корисно для скриптів
yes "y" | command

Завжди відповідати “y” на запити

yes | rm -i *

Автоматично підтверджувати видалення

yes no | command

Відповідати “no” на запити

🔧 Розширені команди

Команда

Приклад

Опис

at Запланувати одноразову команду на певний час
at now + 1 minute

Виконати команду через хвилину

atq

Показати список запланованих завдань

atrm

Видалити завдання

awk Мова для пошуку шаблонів і обробки тексту
awk '{print $1}' file

Вивести перший стовпець

ps aux | awk '$3 > 50'

Фільтрувати процеси за використанням CPU

cat file.txt | awk '{print $2}'

Вивести друге поле з кожного рядка

awk '/error/ {print $0}' logfile

Вивести рядки, що збігаються з шаблоном

crontab Встановити, переглянути або видалити cron-завдання користувача
crontab -e

Редагувати crontab поточного користувача

crontab -l

Переглянути список завдань

crontab -r

Видалити crontab користувача

cut Вирізати або вибирати частини рядків файлів
cut -d':' -f1 /etc/passwd

Вивести імена користувачів з /etc/passwd

echo "a:b:c" | cut -d':' -f2

Виділити друге поле за роздільником ‘:’

cut -c1-5 filename

Вибрати символи за позицією

df Показати використання дискового простору
df -h

У зручному для читання форматі

df -T

Показати типи файлових систем

df /home

Використання домашнього каталогу

env Виконати команду у зміненому середовищі або показати змінні
env | grep PATH

Показати вміст PATH

env -i bash

Запустити чисту оболонку без середовища

export Встановити змінні середовища для поточної сесії
export VAR=value

Встановити змінну для цієї оболонки

export PATH=$PATH:/new/path

Додати каталог у PATH

export -p

Показати список експортованих змінних

free Показати використання пам’яті
free -m

Показати в МБ

free -h

У зручних одиницях

free -s 5

Оновлювати кожні 5 секунд

hostnamectl Переглянути або змінити ім’я хоста та налаштування
hostnamectl status

Показати статус імені хоста

hostnamectl set-hostname newname

Встановити нове статичне ім’я

ifconfig / ip Інструменти IP для керування інтерфейсами та адресами
ifconfig

Показати мережеві інтерфейси (застаріле)

ip a

Показати адреси через ip

ip link set eth0 up

Увімкнути інтерфейс

iostat Показати статистику CPU та I/O
iostat -x 2

Розширена статистика кожні 2 секунди

iostat -d 5 3

Статистика пристроїв (5с інтервал, 3 звіти)

iptables Керування фільтрацією пакетів IPv4 і NAT
iptables -L

Показати список правил

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Дозволити SSH на порту 22

iptables -F

Очистити всі правила

journalctl Запит журналу systemd
journalctl -xe

Показати останні помилки з контекстом

journalctl -u nginx.service

Показати логи для служби

journalctl --since "2 hours ago"

Показати логи з певного часу

ln Створювати посилання між файлами
ln -s target link

Створити символьне посилання

ln file.txt backup.txt

Створити жорстке посилання

ln -sf target link

Примусово пересоздати символьне посилання

sed Потоковий редактор для обробки тексту
sed 's/old/new/g' file

Замінити рядок у файлі глобально

sed -n '1,5p' file

Вивести лише діапазон рядків

sed '/pattern/d' file

Видалити рядки за шаблоном

systemctl Керування системою та службами systemd
systemctl status nginx

Показати статус служби

systemctl start nginx

Запустити службу

systemctl enable nginx

Увімкнути службу при старті системи

tr Перетворювати або видаляти символи
tr a-z A-Z

Перетворити літери з нижнього у верхній регістр

echo "hello" | tr 'h' 'H'

Замінити символ

echo "abc123" | tr -d '0-9'

Видалити цифри

type Показати, як команда інтерпретується в оболонці
type ls

Показати, як інтерпретується ls

type cd

Показати, як інтерпретується cd

type python3

Показати, як інтерпретується python3

ulimit Показати або встановити обмеження ресурсів користувача
ulimit -n

Показати макс. кількість відкритих файлів

ulimit -c unlimited

Дозволити дампи пам’яті

ulimit -u 4096

Обмежити кількість процесів користувача

uptime Показати аптайм і середнє навантаження
uptime -p

Красивий аптайм

uptime -s

Показати час завантаження

xargs Формувати та виконувати команди зі стандартного вводу
xargs -n 1 echo

Вивести кожен аргумент окремим рядком

echo "a b c" | xargs -n 1

Розділити слова на окремі аргументи

find . -name '*.txt' | xargs rm

Знайти файли та видалити їх через xargs

🌐 Мережеві команди

Команда

Приклад

Опис

curl Передача даних з/на сервери
curl -X POST -d "a=1" URL

POST-запит з форм-даними

curl -I URL

Отримати лише заголовки

curl -o file.html URL

Завантажити та зберегти у файл

dig Утиліта для DNS-запитів
dig openai.com

Запит A-записів

dig +short openai.com

Коротка відповідь

dig @8.8.8.8 openai.com

Використати конкретний DNS-сервер

ftp Клієнт протоколу передачі файлів (FTP)
ftp host

Підключитися до FTP-сервера

ftp -n host

Підключитися без авто-логіну

ftp> get file.txt

Завантажити файл у FTP-сесії

ip address Показати/керувати IP-адресами
ip addr show eth0

Показати інформацію для eth0

ip addr

Вивести всі адреси

ip link Показати/керувати мережевими пристроями
ip link show

Показати мережеві інтерфейси

ip link set eth0 up

Увімкнути інтерфейс

ip route Показати/керувати таблицею маршрутизації IP
ip route list

Вивести таблицю маршрутів

ip route add default via 192.168.1.1

Додати маршрут за замовчуванням

nc Довільні TCP/UDP-з’єднання і прослуховування
nc -zv host 22

Сканування портів хоста

nc -l 1234

Прослуховування TCP-порту

nc host 1234 < file

Надіслати файл на віддалений порт

nmap Інструмент дослідження мережі та сканер портів/безпеки
nmap -sP 192.168.1.0/24

Ping-сканування підмережі

nmap -sV 192.168.1.1

Визначення сервісів/версій

nmap -O 192.168.1.1

Визначення ОС

nslookup Запит DNS-серверів Інтернету
nslookup google.com

Запит доменного імені

nslookup 8.8.8.8

Зворотний пошук IP

ssh Клієнт віддаленого входу OpenSSH
ssh user@host

Підключитися до хоста

ssh -p 2222 user@host

Підключитися, використовуючи нестандартний порт

ssh -i ~/.ssh/id_rsa user@host

Увійти з конкретним приватним ключем

ss Утиліта для дослідження сокетів
ss -tuln

Вивести TCP/UDP-порти, що прослуховуються

ss -s

Зведена статистика

ss -l

Список сокетів, що прослуховуються

telnet Інтерфейс користувача до протоколу TELNET
telnet host 80

Підключитися до хоста на порту 80

telnet example.com 443

Підключитися до 443

telnet localhost 25

Підключитися до локального SMTP

traceroute Відстеження маршруту до мережевого хоста
traceroute 8.8.8.8

Відстежити шлях до IP

traceroute -m 15 8.8.8.8

Обмежити максимальну кількість переходів

wget Отримати файли з Інтернету
wget -O file.txt URL

Зберегти результат у файл

wget URL

Завантажити у поточний каталог

wget -c URL

Продовжити перерване завантаження

🔍 Пошук і керування файлами

Команда

Приклад

Опис

basename Видалити шлях і суфікс з імен файлів
basename /path/to/file

Вивести ім’я файлу з шляху

basename /path/to/file .txt

Видалити суфікс з імені

dirname Видалити останній компонент шляху
dirname /path/to/file

Показати каталог з шляху

dirname /etc/passwd

Показати батьківський каталог /etc/passwd

du Оцінити використання місця файлами
du -sh folder/

Показати розмір каталогу

du -h *

Показати розміри елементів у поточному каталозі

du -c folder1 folder2

Сумарний розмір кількох каталогів

file Визначити тип файлу
file some.bin

Визначити тип файлу

file *

Визначити типи для всіх файлів у каталозі

file -i file.txt

Показати MIME-тип

find Пошук файлів
find /path -type f -name "*.sh"

Знайти shell-скрипти за назвою

find . -size +10M

Знайти файли більше 10 МБ

find /tmp -mtime -1

Знайти файли, змінені за останній день

locate Пошук файлів за назвою через базу даних
locate filename

Знайти файл за іменем

locate *.conf

Пошук із шаблоном

locate -i README

Пошук без урахування регістру

realpath Вивести абсолютний шлях після розв’язання
realpath file

Розв’язати шлях до файлу

realpath ../relative/path

Розв’язати відносний шлях

stat Показати інформацію про файл або файлову систему
stat file

Показати детальну інформацію про файл

stat -c %s file

Вивести лише розмір файлу

stat -f file

Показати стан файлової системи

tree Список вмісту каталогів у вигляді дерева
tree

Вивести дерево каталогів

tree -L 2

Обмежити глибину відображення

tree -a

Включити приховані файли

📊 Моніторинг системи

Команда

Приклад

Опис

dmesg Вивести або керувати буфером повідомлень ядра
dmesg | tail

Показати останні повідомлення ядра

dmesg | grep usb

Відфільтрувати повідомлення про USB

free Показати використання пам’яті
free -h

У зручних одиницях

free -m

Показати у МБ

htop Інтерактивний переглядач процесів
htop

Запустити htop

iotop Показати використання I/O процесами
iotop

Запустити iotop

iotop -o

Показати лише процеси з активним I/O

lsof Список відкритих файлів
lsof -i :80

Показати процеси, що використовують порт 80

lsof -u username

Показати файли, відкриті користувачем

uptime Показати аптайм і середнє навантаження
vmstat Показати статистику віртуальної пам’яті
vmstat 1

Оновлювати щосекунди

vmstat 5 3

Інтервал 5 секунд, 3 звіти

watch Періодично виконувати програму з виведенням результату
watch -n 1 df -h

Стежити за використанням диска

watch -d free -h

Підсвічувати зміни та стежити за пам’яттю

📦 Керування пакетами

Команда

Приклад

Опис

apt Менеджер пакетів APT (Debian/Ubuntu)
apt install curl

Встановити пакет

apt remove curl

Видалити пакет

apt update && apt upgrade

Оновити список і оновити пакети

dnf Dandified YUM (сімейство Fedora/RHEL)
dnf install curl

Встановити пакет

dnf upgrade

Оновити пакети

rpm Менеджер пакетів RPM
rpm -ivh package.rpm

Встановити RPM-пакет

rpm -e package

Видалити пакет

snap Менеджер пакетів Snap
snap install app

Встановити snap

snap remove app

Видалити snap

yum Yellowdog Updater Modified (RHEL/CentOS)
yum install curl

Встановити пакет

yum remove curl

Видалити пакет

💽 Файлові системи

Команда

Приклад

Опис

blkid Визначити/вивести атрибути блочних пристроїв
blkid

Вивести пристрої та їх атрибути

df Показати використання дискового простору
df -Th

Розміри у зручному вигляді за типами

fsck Перевірити й відновити файлову систему Linux
fsck /dev/sda1

Перевірити пристрій

lsblk Вивести інформацію про блочні пристрої
lsblk

Вивести пристрої у вигляді дерева

mkfs Створити файлову систему Linux
mkfs.ext4 /dev/sdb1

Створити файлову систему ext4

mount Монтувати файлову систему
mount /dev/sdb1 /mnt

Змонтувати пристрій у /mnt

mount | grep /mnt

Показати змонтовані ФС з фільтрацією за шляхом

parted Утиліта для роботи з розділами
parted /dev/sdb

Відкрити диск для розділення

umount Демонтувати файлову систему
umount /mnt

Демонтувати точку монтування

🤖 Скрипти та автоматизація

Команда

Приклад

Опис

alias Визначити або показати псевдоніми оболонки
alias ll='ls -la'

Створити зручний псевдонім

alias

Список визначених псевдонімів

bash / sh Запустити shell-скрипти
bash script.sh

Запустити скрипт у Bash

sh script.sh

Запустити скрипт у sh

crontab Cron-таблиці користувача
crontab -e

Редагувати crontab поточного користувача

read Запитати введення користувача у shell-скрипті
read name

Зчитати у змінну

set Налаштувати параметри оболонки/позиційні аргументи
set -e

Завершити при першій помилці

source Прочитати та виконати команди з файлу у поточній оболонці
source ~/.bashrc

Перезавантажити конфігурацію оболонки

trap Перехоплювати сигнали і виконувати команди
trap "echo 'exit'" EXIT

Виконати команду при виході з оболонки

🛠 Розробка та налагодження

Команда

Приклад

Опис

gcc Компилятор GNU C
gcc main.c -o app

Зкомпілювати C-файл

gdb GNU Debugger
gdb ./app

Налагодити скомпільований бінарник

git Розподілена система контролю версій
git status

Показати статус робочого дерева

git commit -m "msg"

Зробити commit з повідомленням

ltrace Трасування викликів бібліотек
ltrace ./app

Відстежити бібліотечні виклики бінарника

make Утиліта для побудови груп програм
make

Зібрати за Makefile

shellcheck Статичний аналізатор shell-скриптів
shellcheck script.sh

Перевірити shell-скрипт

strace Трасування системних викликів і сигналів
strace ./app

Відстежити syscalls програми

valgrind Фреймворк інструментування для аналізу програм
valgrind ./app

Запустити програму під Valgrind

vim / nano Текстові редактори у терміналі
vim file.sh

Редагувати у Vim

nano file.sh

Редагувати у Nano

📌 Різне

Команда

Приклад

Опис

cal Вивести календар
cal 2025

Показати календар року

cal 08 2025

Показати конкретний місяць

date Вивести або встановити системні дату та час
date +%T

Показати поточний час (HH:MM:SS)

date -d "next friday"

Показати дату для відносного дня

factor Факторизація чисел
factor 100

Розкласти число на множники

man Форматування та показ man-сторінок
man tar

Відкрити man-сторінку

man -k copy

Пошук у man-сторінках за ключовим словом

man 5 passwd

Відкрити конкретний розділ мануала

seq Вивести послідовність чисел
seq 1 5

Порахувати від 1 до 5

seq 1 2 9

Порахувати з кроком

seq -s ',' 1 5

З’єднати числа з власним роздільником

yes Виводити рядок безкінечно до завершення
yes | rm -r dir

Автопідтвердження рекурсивного видалення

📚 Додаткові ресурси

📘 man-сторінки – детальні довідники для команд:

man ls
man rm

📙 TLDR – короткі приклади використання популярних команд:

🧠 Порада: Встановіть tldr для швидкої допомоги у стилі шпаргалки:

sudo apt install tldr   # або: npm install -g tldr
tldr tar                # приклад короткого опису для команди tar

🌐 Корисні посилання

Linux man-сторінки онлайн — офіційні довідники, пошук за назвою команди:
https://man7.org/linux/man-pages/

Спрощені та спільнотою підтримувані man-сторінки — практичні приклади з реального використання:
https://tldr.sh/