30 команд Linux для работы с VPS: шпаргалка новичка

Linux и команды
30 команд Linux для работы с VPS: шпаргалка новичка

Команды 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 и открывайте терминал — шпаргалка у вас уже есть.