Чтобы уверенно управлять своим сервером, хватает примерно сорока команд: они закрывают навигацию по каталогам, работу с файлами, права доступа, процессы, диск, сеть, установку программ и чтение логов. Остальное ищут по ситуации в справке и в поиске, а этот минимум приходится набирать руками каждый день — именно с него начинается работа на любом VPS с Ubuntu или другим дистрибутивом. Выучить их за вечер реально: почти каждая команда — это одно слово плюс один-два ключа.
Материал написан для владельца сайта, бота или небольшого сервиса, который только что получил доступ к серверу и видит чёрный экран с приглашением вида root@vps:~#. Ниже — команды по группам, объяснение того, что делает каждая, сводная таблица-шпаргалка, пошаговый сценарий первых пятнадцати минут на новой машине и разбор ошибок, на которых новички теряют данные.
Навигация по серверу: pwd, ls и cd
Работа в консоли устроена как хождение по папкам в проводнике, только без картинки: система всегда держит вас в одном каталоге, и команды по умолчанию работают именно в нём. Подключение идёт по протоколу SSH — это защищённый канал до порта 22/TCP на машине, по которому вы отправляете текстовые команды.
Первое после входа — понять, где вы находитесь. Команда pwd (print working directory) печатает полный путь текущего каталога, например /var/www. Она ничего не меняет и безопасна в любой момент.
pwd
ls -la
cd /var/www
Команда ls показывает содержимое каталога. Ключ -l разворачивает вывод в таблицу с правами, владельцем, размером и датой, а -a добавляет скрытые файлы — те, чьё имя начинается с точки, вроде .env или .htaccess. Вместе они дают ls -la — самый частый вариант на сервере, потому что конфиги почти всегда скрытые.
Команда cd (change directory) переносит вас в другой каталог. cd /etc — переход по абсолютному пути от корня, cd nginx — по относительному, внутрь подкаталога. Две точки означают «на уровень выше»: cd ... Просто cd без аргументов возвращает в домашний каталог пользователя.
Файлы и каталоги: cp, mv, rm и mkdir -p
Четыре команды покрывают всё, что вы будете делать с файлами: копировать, переносить, удалять и создавать папки. Опасна здесь только одна из них, и об этом ниже.
cp source.txt backup.txt копирует файл; чтобы скопировать каталог целиком, добавляют ключ -r (recursive) — cp -r /var/www/site /var/www/site-old. Это самый дешёвый способ подстраховаться перед правкой конфига: копия рядом занимает считаные килобайты, а откат занимает секунду.
mv переносит файл или каталог, и она же переименовывает: mv old.conf new.conf. В отличие от копирования, исходник исчезает, поэтому в связке «сначала cp, потом mv» первый шаг пропускать не стоит.
cp -r /etc/nginx /root/nginx-backup
mkdir -p /var/www/site/logs
rm -i /var/www/site/old.log
mkdir -p создаёт каталог вместе со всеми недостающими родительскими: без ключа -p команда упадёт с ошибкой, если промежуточной папки не существует. rm удаляет файл безвозвратно — корзины в Linux нет. Ключ -i заставляет систему спросить подтверждение по каждому файлу, и на боевом сервере лучше приучиться писать именно rm -i.
Чтение файлов, слежение за логами и поиск по ним
Половина серверной работы — это чтение текста: конфигов и журналов. Для маленького файла подходит cat file.conf — она выводит содержимое целиком в консоль. Для файла на несколько тысяч строк нужен less file.conf: он открывает постраничный просмотр со стрелками, поиском по /слово и выходом по клавише q.
Самая полезная из этой группы — tail -f. Она показывает конец файла и не завершается, а продолжает печатать новые строки по мере их появления. Открыв tail -f /var/log/syslog и обновив сайт в браузере, вы увидите реакцию сервера в реальном времени.
tail -f /var/log/syslog
journalctl -u nginx -n 50
grep -rn "server_name" /etc
find /var -name "*.log" -mtime +7
Журналы служб в современных дистрибутивах лежат не только в файлах: journalctl -u nginx -n 50 покажет последние 50 записей именно от веб-сервера nginx, а не весь системный поток. Это первое место, куда стоит смотреть, когда служба не стартует.
Искать по содержимому файлов умеет grep: ключ -r просматривает каталог рекурсивно, -n показывает номер строки. По именам и датам ищет find: в примере выше она находит в /var все файлы .log, изменённые более 7 дней назад. Править найденное удобно в nano — редакторе с сохранением по Ctrl+O и выходом по Ctrl+X.
Права доступа: почему 644 для файлов и 755 для каталогов
В Linux у каждого файла есть владелец, группа и три набора прав: для владельца, для группы и для всех остальных. Права записывают цифрами, где 4 — чтение, 2 — запись, 1 — выполнение, а сумма даёт итог. Отсюда и берутся привычные комбинации.
Число 644 означает: владелец читает и пишет (4+2), группа и остальные только читают. Это норма для обычных файлов — картинок, PHP-скриптов, конфигов. Число 755 означает: владелец читает, пишет и выполняет (4+2+1), группа и остальные читают и выполняют (4+1). Для каталога «выполнение» означает право войти внутрь. Поэтому папкам ставят 755, а файлам 644 — иначе веб-сервер просто не сможет открыть каталог сайта.
chmod 644 /var/www/site/index.php
chmod 755 /var/www/site
chown -R www-data:www-data /var/www/site
Команда chown меняет владельца и группу: запись www-data:www-data означает «владелец www-data, группа www-data», а ключ -R применяет это ко всему содержимому каталога. Именно неправильный владелец чаще всего даёт ошибку 403 на свежем сайте.
Слово sudo перед командой выполняет её от имени администратора: sudo systemctl restart nginx сработает там, где та же команда без sudo вернёт отказ. Постоянно работать под root не стоит — одна опечатка в rm -r стирает систему без вопросов.

Процессы: кто занял процессор и как перезапустить службу
Процесс — это запущенная программа, у которой есть числовой идентификатор PID. Когда сайт тормозит, задача сводится к тому, чтобы найти процесс-виновника и решить его судьбу.
Команда ps aux печатает список всех процессов одним снимком: пользователь, PID, процент процессора, процент памяти, команда. Её удобно фильтровать через grep. Динамическую картину даёт top — обновляемая каждые пару секунд таблица, отсортированная по нагрузке. Удобнее его цветной аналог htop с прокруткой и подсветкой ядер, но он ставится отдельно.
ps aux | grep php
top
kill -9 12345
systemctl status nginx
Остановить зависший процесс можно командой kill: kill 12345 вежливо просит программу завершиться, а kill -9 12345 убивает её принудительно, без сохранения данных. Девятку применяют, только когда обычный kill не помог, — подробнее разбор дан в отдельном гайде о том, как смотреть процессы в Linux.
Службами управляет systemctl: status покажет, работает ли служба, restart перезапустит, enable добавит в автозагрузку. После правки конфига веб-сервера применяйте изменения через systemctl reload nginx — без обрыва соединений.
Диск: куда исчезли гигабайты
На тарифах с 5–20 ГБ диска место кончается быстрее, чем кажется: логи, кеш пакетов и старые бэкапы съедают его за недели. Симптом всегда одинаковый — сайт отдаёт ошибку, база не пишется, а в логе появляется «No space left on device».
Диагностика идёт в два слоя. Сначала df -h показывает, сколько занято на каждом разделе; ключ -h переводит байты в человекочитаемые гигабайты. Если заполнение подошло к 90–95 %, переходите ко второму слою.
df -h
du -sh /var/* | sort -h
lsblk
Команда du -sh * считает суммарный объём каждого объекта в текущем каталоге: -s даёт одну итоговую строку на элемент, -h — те же удобные единицы. Запуск от /var почти всегда указывает на виновника: /var/log или кеш пакетного менеджера. Команда lsblk рисует дерево дисков и разделов.
Отдельно проверьте файл подкачки: на машинах с 1 ГБ памяти он занимает на диске ещё от 512 МБ до 2 ГБ и иногда объясняет странную нехватку места. Быстрый способ освободить пару гигабайт на Debian и Ubuntu — команда apt clean: она стирает скачанные установочные файлы пакетов, которые больше не нужны.
Сеть: IP-адрес, открытые порты и доступность сайта
Сетевая диагностика разбирается по слоям: свой адрес, свои порты, чужая доступность. Начинают с ip a — она печатает сетевые интерфейсы и назначенные им адреса. Внешний IP-адрес обычно виден на интерфейсе eth0 или ens3.
Дальше проверяют, что именно слушает сервер. Команда ss -lntp выводит открытые TCP-порты: -l — только те, которые сервер слушает, -n — показывать числовые номера портов вместо имён служб, -t — только TCP, -p — с названием программы, занявшей порт. Если в списке нет порта 80 или 443, веб-сервер не запущен.
ip a
ss -lntp
ping -c 4 free-hosting.ru
curl -I https://free-hosting.ru
Команда ping -c 4 отправляет 4 пакета и показывает задержку в миллисекундах: 5–20 мс до соседнего дата-центра в Москве, 40–80 мс до Европы. Полное отсутствие ответа не всегда означает аварию — часть площадок такие пакеты просто игнорирует.
Наконец, curl -I запрашивает только заголовки ответа и показывает код: 200 — всё в порядке, 301 — редирект, 502 — веб-сервер жив, а приложение за ним упало. Скачать файл по ссылке проще через wget. Если служба слушает, а порт закрыт снаружи, дело в файрволе — разбор в гайде о том, как открыть порты в Ubuntu.
Установка софта: apt в Debian и Ubuntu, dnf в RHEL-семействе
Программы в Linux ставят не из скачанных инсталляторов, а из репозиториев. Репозиторий — это проверенное хранилище программ в интернете, своё для каждого дистрибутива; система сама скачивает пакет оттуда. Поэтому команда установки зависит от семейства системы, и это первое, что стоит уточнить у провайдера при заказе.
В Debian и Ubuntu работает apt. Порядок всегда один: сначала apt update обновляет список доступных версий (сами программы при этом не трогаются), затем apt install nginx ставит нужный пакет. Пропуск первого шага — типичная причина ошибки «Unable to locate package» на свежем сервере.
apt update
apt install nginx
dnf install nginx
В RHEL-семействе — AlmaLinux, Rocky Linux, CentOS Stream — тот же смысл выражается через dnf install nginx, а отдельная команда обновления индекса не нужна. Названия пакетов при этом почти всегда совпадают, различается только менеджер.
Обновление установленного набора делается через apt upgrade и dnf upgrade. На боевом сервере запускайте его в спокойное время: обновление веб-сервера или базы перезапускает службу, и сайт на несколько секунд становится недоступен.
Шпаргалка: 40 команд, сгруппированных по задачам
Таблица ниже собирает весь разобранный минимум в один экран. Её удобно держать открытой в соседней вкладке первые пару недель — потом руки запомнят сами.
Колонка «Когда нужна» отвечает на главный вопрос новичка: не «что делает команда», а «в какой момент я о ней вспомню».
| Задача | Команды | Когда нужна |
|---|---|---|
| Навигация | pwd, ls -la, cd |
Каждую сессию, с первой секунды |
| Файлы | cp -r, mv, rm -i, mkdir -p |
Правка конфигов, разбор каталогов |
| Чтение | cat, less, tail -f, nano |
Смотрим лог или конфиг |
| Права | chmod 644, chmod 755, chown, sudo |
Ошибка 403, сайт не пишет файлы |
| Процессы | ps aux, top, htop, kill, kill -9, systemctl |
Сервер тормозит, служба упала |
| Диск | df -h, du -sh *, lsblk, apt clean |
«No space left on device» |
| Сеть | ip a, ss -lntp, ping, curl -I, wget |
Сайт не открывается снаружи |
| Пакеты | apt update, apt install, apt upgrade, dnf install, dnf upgrade |
Ставим или обновляем софт |
| Логи и поиск | journalctl -u, grep -rn, find -mtime |
Ищем причину сбоя |
| Доступ и справка | ssh, man |
Вход на сервер и разбор незнакомой команды |

Первые 15 минут на новом сервере: порядок действий
Когда провайдер выдаёт доступ, полезно пройти один и тот же короткий сценарий. Он занимает четверть часа и снимает большинство проблем, которые иначе всплывут через неделю.
Порядок важен: сначала осмотр, потом изменения. Каждая команда из списка уже разобрана выше, так что ничего нового учить не придётся.
- Подключитесь по SSH и выполните
pwdиls -la— убедитесь, что попали на нужную машину. - Проверьте ресурсы:
df -hдля диска иtopдля памяти и процессора. - Обновите систему:
apt update, затемapt upgrade— на свежем образе накапливается 50–200 обновлений. - Посмотрите открытые порты через
ss -lntpи закройте всё лишнее, кроме портов 22/TCP, 80/TCP и 443/TCP. - Создайте обычного пользователя и перестаньте работать под root.
- Проверьте службы:
systemctl status nginxиjournalctl -u nginx -n 50. - Настройте регулярные резервные копии VPS до того, как зальёте боевые данные.
Отдельно запишите IP-адрес, порт SSH и имя пользователя: через месяц эти три строчки восстановить без обращения в поддержку обычно нельзя.
На каком сервере тренироваться и сколько это стоит
Для отработки команд не нужна мощная машина: подойдёт минимальный тариф с 1 ядром и 1 ГБ памяти. Такой сервер спокойно держит один небольшой сайт или бота, а если вы его случайно сломаете, переустановка образа занимает 2–5 минут.
В каталоге сейчас 44 площадки, и разброс входных цен на Linux-конфигурации выглядит так.
| Провайдер | Цена от | Стартовая конфигурация | Тарифов в каталоге |
|---|---|---|---|
| Cloudcore | 59 ₽/мес | 1 ядро, 1 ГБ RAM, 10 ГБ NVMe | 12 |
| Hosting-Russia | 99 ₽/мес | Минимальная Linux-конфигурация | — |
| 4VPS | 110 ₽/мес | 1 ядро, 1 ГБ RAM, 5 ГБ NVMe | 568 |
| HostVDS | 127 ₽/мес | 1 ядро, 1 ГБ RAM, 10 ГБ NVMe | 12 |
Данные проверены 04.09.2026.
При выборе смотрите на две вещи: тип диска и возможность быстро переустановить ОС из панели. NVMe против HDD даёт заметную разницу при установке пакетов, а кнопка переустановки превращает любую фатальную ошибку в пятиминутную паузу. Другие варианты входного уровня собраны в подборке недорогих VPS.
Частые ошибки
Почти все потери данных у новичков происходят не из-за сложных команд, а из-за четырёх-пяти типовых промахов. Они повторяются от сервера к серверу.
Проверьте себя по списку — каждый пункт стоил кому-то нескольких часов восстановления.
- Запуск
rm -rfс опечаткой в пути: лишний пробел перед слешем стирает систему целиком. - Правка конфига без копии — вернуть прежний вариант потом нечем.
- Установка пакета без предварительного
apt updateи вывод «Unable to locate package». - Постоянная работа под root вместо обычного пользователя с
sudo. chmod 777«чтобы заработало»: файл становится доступен на запись всем.- Перезапуск боевой службы в часы пик вместо
reloadи спокойного окна.
Частые вопросы
Сколько команд нужно знать, чтобы вести свой сервер? Для повседневных задач хватает тех 40 команд, что собраны в таблице выше. Всё сверх этого требуется раз в несколько месяцев и ищется в справке: man имя_команды открывает описание любой команды прямо в консоли, выход — по клавише q.
Чем отличается apt от dnf? Это разные менеджеры пакетов: apt используется в Debian и Ubuntu, dnf — в AlmaLinux, Rocky Linux и CentOS Stream. Смысл команд совпадает, поэтому инструкцию под Ubuntu нельзя дословно применять на RHEL-системе.
Что делать, если команда возвращает «Permission denied»? У текущего пользователя нет прав на этот файл или каталог. Добавьте sudo перед командой, а если ошибка осталась — проверьте владельца через ls -la и поправьте его командой chown.
Можно ли удалить файл по ошибке и вернуть его? Нет, корзины в Linux нет: rm стирает данные сразу. Единственная защита — привычка писать rm -i и регулярные резервные копии во внешнем хранилище.
Как понять, что серверу не хватает памяти? Запустите top и посмотрите на строку с памятью: если свободно менее 5–10 % и растёт использование файла подкачки, ресурса не хватает. Второй признак — процессы, которые завершаются сами.
Обязательно ли учить редактор vim? Нет. Для правки конфигов достаточно nano: он показывает подсказки по клавишам внизу экрана. Vim пригодится позже, когда захочется скорости.
Где смотреть логи, если служба не запускается? Сначала systemctl status имя_службы — он покажет статус и последние строки ошибки. Затем journalctl -u имя_службы -n 50 для подробностей и tail -f /var/log/syslog, если сбой плавающий.
Итог
Сорок команд из этой шпаргалки — весь необходимый минимум владельца сервера: посмотреть, скопировать, поправить права, найти прожорливый процесс, освободить диск, проверить порт, поставить пакет и прочитать лог. Учить их лучше не по списку, а на живой машине, разбирая реальные ошибки по мере появления.
Если сервера пока нет, начните с минимального тарифа от 59 ₽/мес — этого достаточно, чтобы отработать всё описанное. Актуальные конфигурации и цены собраны в разделе VPS с Linux.