Команды Linux — основной инструмент владельца VPS: графического интерфейса на сервере обычно нет, а терминал доступен всегда. Хорошая новость в том, что для уверенной повседневной работы достаточно небольшого набора — три десятка команд закрывают девять из десяти типовых задач администратора. В этой шпаргалке собраны основные команды терминала с примерами: навигация, работа с файлами, поиск, процессы, сеть, пакеты и службы. Сохраните её в закладки — и в первые месяцы работы с сервером вопросов почти не останется.
Пара слов перед стартом
Все примеры выполняются в терминале по SSH. Если вы ещё не заходили на свой сервер, начните со статьи как подключиться к VPS по SSH — дальше всё пойдёт быстрее. Команды, которые меняют системные настройки, требуют прав администратора: перед ними добавляют sudo. И главное правило: не выполняйте команды из интернета, если не понимаете, что именно они делают, — особенно с sudo и rm.
Навигация: где я и что вокруг (команды 1–3)
Первое, что нужно уметь в терминале, — понимать, где вы находитесь, и перемещаться между каталогами.
pwd # 1. показать полный путь к текущему каталогу
ls -la # 2. список файлов: с правами, владельцами, размерами и скрытыми файлами
cd /var/log # 3. перейти в каталог /var/log
cd ~ # вернуться в свой домашний каталог
cd - # вернуться в предыдущий каталог
pwd (print working directory) отвечает на вопрос «где я». ls без ключей показывает только имена, а с -la — подробный список, включая скрытые файлы, имена которых начинаются с точки. cd (change directory) перемещает вас по дереву каталогов: cd .. — на уровень вверх, cd / — в корень системы.
Файлы и каталоги: создать, скопировать, удалить (4–8)
mkdir -p /opt/app/config # 4. создать каталог вместе с родительскими
touch notes.txt # 5. создать пустой файл
cp config.yml config.yml.bak # 6. сделать копию файла
cp -r /opt/app /opt/app-backup # скопировать каталог целиком (рекурсивно)
mv app.log archive/ # 7. переместить файл в другой каталог
mv old-name.txt new-name.txt # тем же mv файл переименовывают
rm temp.txt # 8. удалить файл
rm -r /opt/app-backup # удалить каталог со всем содержимым
Ключ -p у mkdir создаёт всю цепочку каталогов сразу и не ругается, если каталог уже существует. Привычка делать копию конфига через cp перед правкой (config.yml.bak) не раз спасёт вас от долгого восстановления.
С rm будьте особенно аккуратны: в Linux нет корзины, удаление необратимо. Комбинация rm -rf с неверным путём — классический способ уничтожить сервер, поэтому перед нажатием Enter перечитайте путь ещё раз.
Читаем файлы: cat, less, head, tail (9–12)
Логи и конфиги — это обычные текстовые файлы, и чаще всего их нужно именно читать.
cat /etc/os-release # 9. вывести файл целиком
less /var/log/syslog # 10. листать большой файл постранично (выход — q)
head -n 20 access.log # 11. показать первые 20 строк
tail -n 50 error.log # 12. показать последние 50 строк
tail -f /var/log/nginx/access.log # следить за логом в реальном времени (Ctrl+C — выход)
cat хорош для коротких файлов, less — для длинных: в нём работает прокрутка и поиск по /слово. tail -f — любимый приём при отладке: запустили в одном окне, обновили сайт в браузере — и сразу видите новые строки лога. Для правки файлов используйте текстовый редактор — как это делается, разобрано в статье про nano и vim.
Поиск: find и grep (13–14)
find /etc -name "*.conf" # 13. найти файлы по имени (маске)
find /var/www -type f -size +100M # найти файлы больше 100 МБ
grep -r "server_name" /etc/nginx/ # 14. найти строку во всех файлах каталога
grep -i "error" /var/log/syslog # поиск без учёта регистра
find ищет файлы по имени, размеру, дате и другим атрибутам, grep — по содержимому. Вместе они решают почти любую задачу вида «где-то на сервере лежит нужная строчка». Подробный разбор с десятками примеров — в статье про поиск файлов с find и grep.
Пользователи и права (15–18)
whoami # 15. показать, под каким пользователем вы работаете
sudo apt update # 16. выполнить команду с правами администратора
chmod 644 index.html # 17. изменить права доступа к файлу
sudo chown -R www-data:www-data /var/www # 18. сменить владельца файлов (рекурсивно)
whoami полезна, когда открыто несколько SSH-сессий и легко забыть, где вы root, а где обычный пользователь. chmod управляет тем, кто может читать, писать и запускать файл, а chown — кому файл принадлежит. Это большая отдельная тема — она разобрана на примерах в статье про права доступа, chmod и chown.
Процессы и ресурсы сервера (19–24)
Когда сайт тормозит или упал, эти шесть команд отвечают на вопрос «что происходит с сервером».
ps aux | grep nginx # 19. список процессов с фильтром по имени
top # 20. монитор нагрузки в реальном времени (выход — q)
kill 1234 # 21. корректно завершить процесс с PID 1234
kill -9 1234 # принудительно, если процесс не отвечает
free -h # 22. использование оперативной памяти
df -h # 23. свободное место на дисках
du -sh /var/log # 24. сколько места занимает каталог
ps aux показывает все процессы, а конвейер | grep оставляет только нужные строки. В top смотрите колонки %CPU и %MEM — так находят процесс, который съедает ресурсы. df -h предупредит о заканчивающемся месте на диске, а du -sh поможет найти виновника: чаще всего это разросшиеся логи.
Сеть: адреса, доступность, порты (25–28)
ip a # 25. показать IP-адреса сервера
ping -c 4 cheap-host.onl # 26. проверить доступность узла (4 пакета)
ss -tulpn # 27. какие порты слушают сервисы
curl -I https://example.com # 28. запросить сайт и показать HTTP-заголовки
ss -tulpn — обязательная команда после установки любого сетевого сервиса: она показывает, действительно ли программа слушает нужный порт и на каком адресе. curl -I позволяет проверить ответ сайта прямо с сервера, минуя браузер и кеш.
Пакеты и службы: apt и systemctl (29–30)
sudo apt update && sudo apt upgrade -y # 29. обновить список пакетов и сами пакеты
sudo apt install nginx # установить программу
sudo systemctl status nginx # 30. проверить состояние службы
sudo systemctl restart nginx # перезапустить службу
sudo systemctl enable nginx # включить автозапуск при загрузке
apt — пакетный менеджер Debian и Ubuntu: через него ставят, обновляют и удаляют программы. systemctl управляет службами: status показывает, запущена ли служба и что она писала в лог, restart перезапускает после изменения конфигурации, enable добавляет в автозагрузку, чтобы сервис поднимался после перезагрузки сервера.
Шпаргалка: все 30 команд в одной таблице
| Категория | Команды | Для чего нужны |
|---|---|---|
| Навигация | pwd, ls, cd | Понять, где вы, и перемещаться по каталогам |
| Файлы и каталоги | mkdir, touch, cp, mv, rm | Создание, копирование, перенос, удаление |
| Чтение файлов | cat, less, head, tail | Просмотр конфигов и логов |
| Поиск | find, grep | Поиск файлов по имени и по содержимому |
| Пользователи и права | whoami, sudo, chmod, chown | Права доступа и выполнение от root |
| Процессы и ресурсы | ps, top, kill, free, df, du | Диагностика нагрузки, памяти и диска |
| Сеть | ip, ping, ss, curl | Адреса, доступность, открытые порты |
| Пакеты и службы | apt, systemctl | Установка программ и управление сервисами |
Частые вопросы
Как узнать, что делает незнакомая команда?
Добавьте к команде ключ --help — получите краткую справку по опциям. Полная документация открывается через man имя_команды, например man ls; выход из просмотра — клавиша q. Это надёжнее, чем искать в интернете: справка соответствует именно той версии программы, что установлена на вашем сервере.
Можно ли сломать сервер одной командой?
Да, поэтому к sudo стоит относиться серьёзно: например, rm -rf с неправильным путём безвозвратно удалит данные. Перед опасными операциями проверяйте путь через ls и делайте копии конфигов через cp. Регулярные резервные копии важных данных — обязательная страховка для любого сервера.
Нужно ли учить все 30 команд наизусть?
Нет — достаточно понимать, какая команда для чего существует, а детали подскажут man и --help. Терминал хранит историю: стрелка вверх листает предыдущие команды, history показывает весь список, а Ctrl+R включает поиск по истории. Через пару недель практики базовый набор запомнится сам собой.
Почему команда выдаёт «Permission denied»?
У вашего пользователя нет прав на файл или действие. Чаще всего достаточно добавить sudo перед командой, если операция административная. Если ошибка возникает на файлах сайта или скриптах, проверьте права и владельца через ls -l и поправьте их командами chmod и chown.
Чем отличаются kill и kill -9?
Обычный kill отправляет процессу сигнал завершения, давая корректно закрыться и сохранить данные. kill -9 убивает процесс мгновенно и без вопросов — файлы и соединения могут остаться в неконсистентном состоянии. Правильный порядок: сначала обычный kill, и только если процесс завис — kill -9.
Лучший способ запомнить команды Linux — практика на собственном сервере, где не страшно ошибаться. Тариф Start от Cheap-Host за 450 ₽/мес даёт 6 vCPU, 8 ГБ RAM и 96 ГБ NVMe на KVM-виртуализации в Москве — сервер выдаётся за 45–60 секунд, аптайм 99,9 %. Заказывайте на cheap-host.onl и открывайте терминал — шпаргалка у вас уже есть.