🐧 Командная строка 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"

Интерпретировать управляющие последовательности ( )

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 (в стиле patch)

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 -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 Безопасное копирование (удалённое копирование файлов)
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

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

Показать cron-задания

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 и ввода/вывода
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

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 (File Transfer Protocol)
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 Показать использование ввода-вывода процессами
iotop

Запустить iotop

iotop -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 Запуск скриптов оболочки
bash script.sh

Запустить скрипт через Bash

sh script.sh

Запустить скрипт через sh

crontab Пользовательские таблицы cron
crontab -e

Редактировать crontab текущего пользователя

read Запросить ввод пользователя в скриптах оболочки
read name

Прочитать в переменную

set Задать параметры/опции оболочки
set -e

Завершать при первой ошибке

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

Перезагрузить конфигурацию оболочки

trap Перехватывать сигналы и выполнять команды
trap "echo 'exit'" EXIT

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

🛠 Разработка и отладка

Команда

Пример

Описание

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

Скомпилировать C-файл исходников

gdb Отладчик GNU
gdb ./app

Отладить скомпилированный бинарный файл

git Распределённая система контроля версий
git status

Показать статус рабочей директории

git commit -m "msg"

Сделать коммит с сообщением

ltrace Трассировка вызовов библиотек
ltrace ./app

Отслеживать вызовы библиотек бинарника

make Утилита для сборки программ по правилам
make

Собрать проект по Makefile

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

Проверить shell-скрипт

strace Трассировка системных вызовов и сигналов
strace ./app

Отслеживать системные вызовы программы

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 5 passwd

Открыть определённый раздел справки

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

Сосчитать от 1 до 5

seq 1 2 9

Считать с шагом

seq -s ',' 1 5

Объединить числа с разделителем

yes Выводить строку многократно до остановки
yes | rm -r dir

Автоматически подтверждать рекурсивное удаление

📚 Дополнительные ресурсы

📘 man pages — подробные руководства по командам:

man ls
man rm

📙 TLDR — краткие примеры использования популярных команд:

🧠 Совет: Установите tldr для помощи в стиле шпаргалки:

sudo apt install tldr   # или: npm install -g tldr
tldr tar                # пример короткой сводки по команде tar

🌐 Полезные ссылки

Linux man pages online — официальные справочные страницы, поиск по имени команды:
https://man7.org/linux/man-pages/

Упрощённые и создаваемые сообществом man pages — справка с практическими примерами:
https://tldr.sh/