Шпаргалка

Linux команды: шпаргалка для начинающих и администраторов

Обновлено: · Skillaria.Top

Основные команды Linux делятся на группы: навигация (pwd, ls, cd), работа с файлами (cp, mv, rm, mkdir), права (chmod, chown), пакеты (apt), процессы (ps, top, kill), поиск и обработка текста (find, grep, sed, awk), сеть (ip, ss, curl) и службы (systemctl, journalctl). Ниже — таблицы с командами и примерами, которые закрывают большую часть повседневной работы в терминале.

Эта шпаргалка по командам Linux собрана по группам задач: найти файл, поставить пакет, убить зависший процесс, вытащить строку из лога, проверить порт. Команды проверены на Ubuntu и Debian; почти всё работает и в других дистрибутивах, отличаются в основном менеджеры пакетов.

Справка и подсказки

КомандаЧто делает
man lsполное руководство по команде, выход — q, поиск — /слово
ls --helpкраткая справка по флагам
type cdчто это: встроенная команда, алиас или файл
which python3путь к исполняемому файлу
historyистория команд; !123 повторит команду номер 123
Ctrl+Rпоиск по истории
Ctrl+C / Ctrl+Dпрервать команду / закрыть оболочку
КомандаЧто делает
pwdтекущий каталог
ls -laвсе файлы, включая скрытые, с правами и размерами
ls -lhразмеры в удобном виде (K, M, G)
ls -ltсортировка по времени изменения
cd /var/logперейти по абсолютному пути
cd .. / cd ~ / cd -на уровень вверх / домой / в предыдущий каталог
tree -L 2дерево каталогов на 2 уровня (пакет tree)

Работа с файлами и каталогами

КомандаЧто делает
touch file.txtсоздать пустой файл или обновить время изменения
mkdir -p a/b/cсоздать каталоги вместе с родительскими
cp file.txt backup.txtскопировать файл
cp -r src/ dst/скопировать каталог рекурсивно
mv old.txt new.txtпереименовать или переместить
rm file.txtудалить файл (без корзины)
rm -r dir/удалить каталог с содержимым; -f — без вопросов, осторожно
rmdir dirудалить пустой каталог
ln -s /opt/app/current appсимволическая ссылка
stat file.txtподробности: размер, права, inode, даты
file image.binопределить тип файла по содержимому

Просмотр содержимого

КомандаЧто делает
cat fileвывести файл целиком
less fileпостраничный просмотр, поиск /, выход q
head -n 20 fileпервые 20 строк
tail -n 50 fileпоследние 50 строк
tail -f /var/log/syslogследить за файлом в реальном времени
wc -l fileколичество строк
diff a.conf b.confразличия между файлами

Права и владельцы

КомандаЧто делает
chmod +x script.shразрешить выполнение
chmod 644 filerw-r--r--: владелец пишет, остальные читают
chmod 755 dirrwxr-xr-x: типично для каталогов и скриптов
chmod 600 ~/.ssh/id_ed25519только владелец: для приватных ключей
sudo chown www-data:www-data fileсменить владельца и группу
sudo chown -R alice /srv/appсменить владельца рекурсивно
idваш UID, GID и группы
sudo -iоболочка root
sudo usermod -aG docker aliceдобавить пользователя в группу

Пакеты (apt, Debian и Ubuntu)

КомандаЧто делает
sudo apt updateобновить списки пакетов из репозиториев
sudo apt upgradeобновить установленные пакеты
sudo apt install nginxустановить пакет
sudo apt remove nginxудалить, оставив конфиги; purge — вместе с конфигами
sudo apt autoremoveудалить ненужные зависимости
apt search htopнайти пакет
apt show nginxописание и версия
dpkg -l | grep nginxустановлен ли пакет
dpkg -L nginxкакие файлы установил пакет

В RHEL, Fedora, Rocky Linux аналоги — dnf install, dnf remove, dnf upgrade, rpm -qa.

Окружение и профиль

КомандаЧто делает
echo $PATHгде оболочка ищет программы
envвсе переменные окружения
export APP_ENV=prodзадать переменную для текущей сессии и дочерних процессов
alias ll='ls -la'сокращение команды
source ~/.bashrcперечитать профиль без перезахода
crontab -e / crontab -lредактировать / показать задания cron

Процессы

КомандаЧто делает
ps auxвсе процессы с пользователем, CPU и памятью
ps aux | grep nginxнайти процесс
pgrep -a nginxPID и командная строка по имени
top / htopнагрузка в реальном времени
kill 1234попросить процесс завершиться (SIGTERM)
kill -9 1234убить принудительно (SIGKILL) — крайняя мера
pkill -f "python app.py"завершить по совпадению командной строки
command &, jobs, fgфоновый запуск и управление заданиями
nohup ./job.sh &процесс переживёт закрытие терминала
free -hпамять и swap
uptimeвремя работы и средняя нагрузка
strace -p 1234системные вызовы процесса

Службы и логи (systemd)

КомандаЧто делает
systemctl status nginxсостояние службы и последние строки лога
sudo systemctl start|stop|restart nginxзапустить, остановить, перезапустить
sudo systemctl reload nginxперечитать конфиг без остановки
sudo systemctl enable --now nginxвключить автозапуск и запустить
systemctl --failedупавшие юниты
journalctl -u nginx -fлог службы в реальном времени
journalctl -u nginx --since "1 hour ago"лог за последний час
journalctl -p err -bошибки с момента загрузки

Поиск файлов

КомандаЧто делает
find /var/log -name "*.log"найти по имени
find . -type f -mtime -1файлы, изменённые за последние сутки
find / -size +500M 2>/dev/nullкрупные файлы, ошибки доступа скрыты
find . -name "*.tmp" -deleteнайти и удалить
du -sh *размер каждого элемента в каталоге
df -hсвободное место на файловых системах

Поиск и обработка текста: grep, sed, awk, jq

КомандаЧто делает
grep "error" app.logстроки, содержащие слово
grep -i -n "error" app.logбез учёта регистра, с номерами строк
grep -r "listen" /etc/nginx/рекурсивно по каталогу
grep -v "DEBUG" app.logстроки, где слова нет
grep -c "500" access.logчисло совпадений
grep -E "warn|error" app.logрасширенные регулярные выражения
sed 's/old/new/g' fileзаменить и вывести результат
sed -i 's/8080/9090/' app.confзаменить прямо в файле
sed -n '10,20p' fileвывести строки 10–20
awk '{print $1}' access.logпервое поле каждой строки
awk -F: '{print $1}' /etc/passwdимена пользователей (разделитель :)
awk '$9 == 500' access.logстроки, где девятое поле равно 500
sort | uniq -c | sort -rnподсчитать повторы и отсортировать по частоте
cut -d, -f2 data.csvвторой столбец CSV
jq '.items[].name' data.jsonизвлечь поля из JSON

Пример конвейера: десять IP-адресов, сделавших больше всего запросов к nginx.

awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10

Перенаправление и конвейеры

КонструкцияЧто делает
cmd > out.txtзаписать вывод в файл (перезаписать)
cmd >> out.txtдописать в конец файла
cmd 2> err.txtперенаправить ошибки
cmd > all.log 2>&1вывод и ошибки в один файл
cmd1 | cmd2передать вывод одной команды на вход другой
cmd | tee out.txtвывести на экран и сохранить
cmd1 && cmd2выполнить вторую, только если первая успешна
cmd1 || cmd2выполнить вторую, если первая упала

Архивы

КомандаЧто делает
tar -czf backup.tar.gz dir/упаковать и сжать gzip
tar -xzf backup.tar.gzраспаковать
tar -tzf backup.tar.gzпосмотреть содержимое
zip -r site.zip site/ / unzip site.zipzip-архивы

Сеть

КомандаЧто делает
ip aинтерфейсы и IP-адреса
ip rтаблица маршрутов
ping -c 4 8.8.8.8доступность узла
ss -tulpnоткрытые порты и процессы на них
dig example.com / nslookup example.comDNS-запрос
curl -I https://example.comтолько заголовки ответа
curl -s https://api.example.com | jqзапрос к API и красивый JSON
wget URLскачать файл
traceroute example.comпуть пакетов до узла
ssh user@hostподключиться к серверу
ssh-keygen -t ed25519создать пару SSH-ключей
scp file user@host:/tmp/скопировать файл на сервер
rsync -avz dir/ user@host:/srv/dir/синхронизировать каталог
sudo ufw statusправила файрвола

Система и диски

КомандаЧто делает
uname -aядро и архитектура
cat /etc/os-releaseдистрибутив и версия
hostnamectlимя хоста и сведения о системе
lsblkдиски и разделы
sudo mount /dev/sdb1 /mntсмонтировать раздел
who / wкто сейчас в системе
sudo reboot / sudo shutdown -h nowперезагрузка / выключение

Коротко

Для повседневной работы хватает пары десятков команд: ls, cd, cp, mv, rm, chmod, sudo, apt, ps, kill, systemctl, journalctl, grep, find, ss, curl и ssh. Сохраните эту шпаргалку по командам Linux и сверяйтесь с ней, пока команды не уйдут в пальцы. Все группы команд разобраны на практике в курсе по Linux.

Частые вопросы

Как выйти из man или less?

Нажмите q. Для поиска внутри наберите косую черту и слово, n переходит к следующему совпадению.

Как выйти из редактора vim?

Нажмите Esc, затем наберите :q! и Enter, чтобы выйти без сохранения, или :wq, чтобы сохранить и выйти. Новичкам проще редактировать файлы в nano.

Чем rm -rf опасна?

Команда удаляет без подтверждения и без корзины, а ошибка в пути (например, лишний пробел перед звёздочкой) может стереть не тот каталог. Перед запуском проверяйте путь через ls.

Как повторить последнюю команду с sudo?

Наберите sudo !! — оболочка подставит предыдущую команду целиком.

Как остановить зависшую команду в терминале?

Ctrl+C отправляет сигнал прерывания. Если команда не реагирует, найдите её PID через ps или pgrep в другом терминале и завершите командой kill.

Разберите тему на видео

Эта тема подробно разобрана с практикой в курсе «Linux: с нуля до уверенного администрирования».

Перейти к курсу