Короткий ответ: таблицы ниже собирают команды Linux, которые реально нужны администратору сервера, — файлы, процессы, сеть, права, пакеты — с короткой расшифровкой, что каждая делает. Там, где у команды есть отдельная подробная статья (полный разбор или конкретная ошибка), таблица ссылается на неё.
Файлы и каталоги
| Команда | Что делает |
|---|---|
| ls -la | Список файлов, включая скрытые, с правами и размерами |
| cd path | Перейти в каталог |
| pwd | Показать текущий каталог |
| cp -r src dst | Копировать, рекурсивно — для каталога |
| mv src dst | Переместить или переименовать |
| rm -rf path | Удалить рекурсивно и без подтверждения — отменить нельзя |
| mkdir -p a/b/c | Создать каталог и все недостающие родительские |
| touch file | Создать пустой файл или обновить время изменения |
| ln -s target link | Создать символическую ссылку |
| find /path -name '*.log' | Искать файлы по имени, рекурсивно |
| df -h | Свободное место по каждой смонтированной файловой системе, в читаемых единицах |
| du -sh path | Суммарный размер каталога |
Чтобы найти не сколько места свободно, а что именно его занимает, см. проверку занятого места на Linux (англ.) (англ.).
Права и владение
| Команда | Что делает |
|---|---|
| chmod 755 file | Задать точные права восьмеричным кодом |
| chmod +x file | Добавить право на выполнение, не трогая остальные |
| chown user:group file | Сменить владельца и группу файла |
| ls -l file | Показать текущие права и владельца файла |
Полный разбор — восьмеричный и символьный режим, рекурсивный chmod без поломки каталогов и почему 777 почти никогда не решение — в руководстве по команде chmod (англ.) (англ.).
Процессы
| Команда | Что делает |
|---|---|
| ps aux | Список всех запущенных процессов |
| top / htop | Живой, обновляющийся вид загрузки CPU и памяти по процессам |
| kill PID | Попросить процесс завершиться (SIGTERM) |
| kill -9 PID | Принудительно завершить процесс (SIGKILL, без очистки) |
| pkill name | Завершить по имени процесса, а не по PID |
| nohup cmd & | Запустить команду, которая переживёт закрытие терминала |
Что означает каждый столбец ps aux, разобрано в объяснении ps aux (англ.) (англ.).
Сеть
| Команда | Что делает |
|---|---|
| ip -4 addr show | Показать IPv4-адреса на всех интерфейсах |
| ip route | Показать таблицу маршрутизации |
| ss -tlnp | Список прослушиваемых TCP-портов и процесса на каждом |
| ping host | Проверить доступность и время отклика |
| curl -I url | Получить только HTTP-заголовки по URL |
| dig domain | Запросить DNS-записи домена |
| nc -zv host port | Проверить, открыт ли один конкретный TCP-порт |
Подробнее про ss, lsof и другие способы проверить, что слушает порты, — в проверке открытых портов в Linux.
Как задать адрес, чтобы он не менялся при перезагрузке, — в статических IP-адресах, а про сброс устаревшего ответа DNS — в очистке кеша DNS (англ.) (англ.).
Службы и логи (systemd)
| Команда | Что делает |
|---|---|
| systemctl status name | Запущена ли служба и последние строки её лога |
| systemctl restart name | Перезапустить службу |
| systemctl enable name | Запускать службу автоматически при загрузке |
| journalctl -u name -f | Следить за логом службы в реальном времени |
| journalctl -xe | Перейти к концу системного лога с дополнительным контекстом |
Установка программ
| Дистрибутив | Установить | Обновить всё |
|---|---|---|
| Debian · Ubuntu | sudo apt install name | sudo apt update && sudo apt upgrade |
| RHEL · Rocky · Alma | sudo dnf install name | sudo dnf upgrade |
| Alpine | sudo apk add name | sudo apk update && sudo apk upgrade |
Если команда «command not found» появляется сразу после установки, часто дело в том, что оболочка ещё не перечитала пути к командам (помогает hash -r), либо пакет ставит исполняемый файл под другим именем, чем вы ожидали.
Обработка текста
| Команда | Что делает |
|---|---|
| cat file | Вывести содержимое файла |
| less file | Постранично просматривать файл (q — выйти) |
| grep text file | Искать текст внутри файла |
| grep -r text dir | Искать рекурсивно по каталогу |
| tail -f file | Следить за файлом по мере добавления новых строк |
| wc -l file | Посчитать строки в файле |
| sed 's/old/new/g' file | Заменить текст (потоковый редактор) |
Архивы и передача файлов
| Команда | Что делает |
|---|---|
| tar -czvf out.tar.gz dir/ | Создать сжатый архив |
| tar -xzvf out.tar.gz | Распаковать архив |
| scp file user@host:/path | Скопировать файл на удалённый сервер по SSH |
| rsync -av src/ user@host:/path/ | Синхронизировать каталог, передавая только изменения |
Для интерактивной сессии вместо разового копирования см. команду sftp (англ.) (англ.).
Docker
Контейнеры, образы, Compose и очистка выросли в отдельный справочник — шпаргалку по командам Docker (англ.) (англ.).
Команда, которая ставит всех в тупик
Раньше или позже что-нибудь откроет vim — git commit, crontab -e, минимальный образ сервера без установленного nano — и самое сложное — из него выйти:
Esc, затем :wq сохраняет и выходит; :q! выходит без сохранения. Полная таблица команд выхода и почему vim вообще застревает — в инструкции, как выйти из vim (англ.) (англ.).
SSH — вход во всё перечисленное выше
Любая команда на этой странице предполагает, что вы уже можете зайти на сервер — начните с создания SSH-ключа (англ.), если ещё не сделали этого.
В каком порядке выполнять всё это на новом сервере — создать пользователя, закрыть SSH, настроить файрвол — см. первоначальную настройку сервера (англ.) (англ.).
Частые вопросы
Какие команды Linux нужны чаще всего на сервере?
Файлы и каталоги (ls, cp, mv, rm, find), права (chmod, chown), процессы (ps aux, top, kill), сеть (ip, ss, curl, dig), systemd (systemctl, journalctl) и установка пакетов (apt, dnf, apk) — это покрывает почти всю повседневную администраторскую работу. Таблицы в этой статье собирают их с коротким описанием каждой.
Как посмотреть и остановить процесс в Linux?
ps aux показывает список всех запущенных процессов, top или htop — живую обновляющуюся картину загрузки CPU и памяти. Чтобы остановить процесс, выполните kill PID — это просит его завершиться (SIGTERM); если он не реагирует, kill -9 PID завершает его принудительно (SIGKILL) без возможности корректно закрыться. pkill name делает то же самое по имени процесса, а не по PID.
Как установить программу в Linux из командной строки?
В Debian и Ubuntu — sudo apt install имя_пакета, в дистрибутивах семейства RHEL (Rocky, Alma) — sudo dnf install имя_пакета, в Alpine — sudo apk add имя_пакета. Если команда сразу после установки пишет «command not found», чаще всего дело либо в том, что оболочка ещё не перечитала пути (помогает hash -r), либо в том, что исполняемый файл называется иначе, чем ожидалось.