Linux: 20 самых полезных команд для управления сервером

Управление виртуальным частным сервером (VPS) на базе Linux может показаться сложной задачей, особенно для новичков. Командная строка, или терминал, — это ваш основной инструмент для полного контроля над сервером. Владение ключевыми командами не только упрощает администрирование, но и позволяет быстро решать проблемы, мониторить ресурсы и обеспечивать безопасность.

В этой статье мы рассмотрим 20 самых полезных и часто используемых команд Linux, которые необходимы каждому владельцу VPS. Для каждой команды мы приведем синтаксис, ключевые опции и практические примеры применения, чтобы вы могли сразу начать эффективно работать со своим сервером.

Данная информация предназначена для услуг: VPS хостинг или Облачный хостинг

1. ssh — Secure Shell

Для чего нужна: Это первая и самая важная команда. Она используется для безопасного подключения к вашему VPS с локального компьютера.

Синтаксис:

ssh пользователь@ip_адрес_сервераgit config --list

Ключевые опции:

  • -p порт — указание нестандартного SSH-порта (по умолчанию 22).

  • -i путь_к_ключу — аутентификация с помощью закрытого SSH-ключа (рекомендуется).

Пример:

ssh -p 2222 root@192.168.1.100git config --list

или с использованием ключа:

ssh -i ~/.ssh/my_vps_key root@192.168.1.100

Практическое применение: Каждое ваше взаимодействие с сервером начинается с этой команды. Настройка аутентификации по ключу вместо пароля критически важна для повышения безопасности.


2. apt-get / yum / dnf — Менеджеры пакетов

Для чего нужна: Установка, обновление и удаление программного обеспечения. В зависимости от дистрибутива используются разные менеджеры:

  • apt или apt-get — для Debian, Ubuntu.

  • yum — для older CentOS, RHEL.

  • dnf — для modern Fedora, CentOS Stream, RHEL.

Синтаксис (на примере apt):

# Обновление списка репозиториев

sudo apt update

# Обновление установленных пакетов

sudo apt upgrade

# Установка нового пакета

sudo apt install имя_пакета

# Удаление пакета

sudo apt remove имя_пакетаgit config --list

Пример:

sudo apt update && sudo apt upgrade -y
sudo apt install nginx mysql-servergit config --list

Практическое применение: Первое, что нужно сделать после подключения к новому серверу — это обновить систему. Этими же командами вы устанавливаете веб-сервер (Nginx/Apache), базы данных (MySQL/PostgreSQL) и любое другое необходимое ПО.


3. systemctl — Управление системными службами

Для чего нужна: Управление службами (демонами): запуск, остановка, перезагрузка, добавление в автозагрузку.

Синтаксис:

 
# Проверить статус службы

sudo systemctl status nginx

# Запустить службу

sudo systemctl start nginx

# Остановить службу

sudo systemctl stop nginx

# Перезапустить службу (stop + start)

sudo systemctl restart nginx

# Перезагрузить конфигурацию службы без остановки

sudo systemctl reload nginx

# Добавить службу в автозагрузку

sudo systemctl enable nginx

# Убрать службу из автозагрузки

sudo systemctl disable nginx

Практическое применение: После установки Nginx или PHP-FPM вам нужно будет их запустить и добавить в автозагрузку. Команда reload полезна, когда вы изменили конфигурационный файл и хотите применить изменения без простоя службы.


4. journalctl — Просмотр логов системного журнала (systemd)

Для чего нужна: Просмотр и анализ системных логов, а также логов конкретных служб. Незаменимый инструмент для диагностики проблем.

Синтаксис:

 
# Показать логи всей системы

sudo journalctl

# Показать логи конкретной службы

sudo journalctl -u nginx.service

# Отслеживать логи в реальном времени (аналог tail -f)

sudo journalctl -f -u nginx

# Показать логи с последней загрузки системы

sudo journalctl -b

# Показать логи за сегодняшний день

sudo journalctl --since todaygit config --list

Практическое применение: Если ваш веб-сервер не запустился, используйте journalctl -u nginx чтобы увидеть сообщение об ошибке. Команда journalctl -f идеальна для мониторинга логов в реальном времени при тестировании настроек.

5. df — Отображение дискового пространства

Для чего нужна: Показывает информацию о свободном и использованном месте на смонтированных файловых системах.

Синтаксис:

df

 

Ключевые опции:

  • -h — вывод в удобочитаемом формате (ГиБ, МиБ).

  • -T — показать тип файловой системы.

Пример:

df -h

 

Вывод:

Filesystem  Size  Used  Avail  Use%  Mounted on
/dev/vda1   20G   5.2G  14G    28%   /

 

Практическое применение: Регулярная проверка, чтобы не допустить переполнения диска, что может привести к падению сервисов и базы данных.


6. du — Оценка использования дискового пространства файлами и папками

Для чего нужна: Показывает, сколько места занимает конкретный файл или директория.

Синтаксис:

du /path/to/directorygit config --list

Ключевые опции:

  • -h — удобочитаемый формат.

  • -s — показать только общий итог.

  • --max-depth=N — показать итоги для папок на уровне N.

Пример:

 
# Узнать размер текущей директории

du -shgit config --list

# Узнать размер всех домашних директорий пользователей

sudo du -sh /home/*git config --list

# Найти самые большие папки в текущей директории (сортировка)

du -h --max-depth=1 | sort -hr

 

Практическое применение: Если команда df показала, что диск почти full, используйте du чтобы найти, какие именно файлы или папки (например, логи, кэш, загрузки пользователей) занимают больше всего места.


7. free — Отображение информации об оперативной памяти

Для чего нужна: Показывает количество свободной и использованной оперативной памяти (ОЗУ) и swap-раздела.

Синтаксис:

free

Ключевые опции:

  • -h — удобочитаемый формат.

  • -m — вывод в мегабайтах.

  • -t — показать итоговую строку.

Пример:

free -hgit config --list

Вывод:

       total used  free   shared  buff/cache  available
Mem:   2.0Gi 1.1Gi 100Mi  10Mi    700Mi       700Mi
Swap:  1.0Gi 50Mi  950Mi

Практическое применение: Мониторинг использования оперативной памяти для выявления нехватки RAM (что может приводить к активному использованию swap и тормозам). Обращайте внимание на столбец available.

8. top / htop — Мониторинг процессов в реальном времени

Для чего нужна: Динамический вывод информации о запущенных процессах, использовании CPU, RAM, uptime системы.

Синтаксис:

top
htop

htop — это улучшенная версия top, которую часто нужно устанавливать отдельно (apt install htop). Она более наглядная и удобная.

Ключи управления в top/htop:

  • q — выход.

  • P — сортировка по CPU.

  • M — сортировка по RAM.

  • k — убить процесс (запросит PID).

  • F4 или / — фильтрация процессов (в htop).

Практическое применение: Первая команда для диагностики "тормозов" на сервере. Позволяет сразу увидеть, какой процесс потребляет больше всего ресурсов (CPU или RAM).


9. ps — Статичный список процессов

Для чего нужна: Формирует моментальный снимок (snapshot) запущенных процессов. Часто используется с пайпами и grep для поиска конкретного процесса.

Синтаксис:

 
# Показать все процессы

ps aux

# Поиск процесса по имени

ps aux | grep nginx

Ключевые опции:

  • a — показать процессы всех пользователей.

  • u — показать пользователя-владельца процесса.

  • x — показать процессы без управляющего терминала.

Пример:

 
# Найти и убить процесс по имени (осторожно!)

ps aux | grep some_program
kill -9 $(pidof some_program)git config --list

Практическое применение: Поиск PID (Process ID) конкретного процесса для его остановки или проверки, запущен ли он вообще.


10. kill / pkill — Завершение процессов

Для чего нужна: Корректное или принудительное завершение работы процессов.

Синтаксис:

# Корректный запрос на завершение (сигнал TERM)

kill PID_процесса

# Принудительное завершение (сигнал KILL)

kill -9 PID_процесса

# Завершение процесса по имени

pkill имя_процесса

Практическое применение: Если процесс "завис" и не реагирует, используется kill -9. Для перезагрузки конфигурации веб-сервера часто используется pkill -HUP nginx.

11. lsof — Список открытых файлов

Для чего нужна: Показывает, какие файлы и сетевые соединения открыты процессами. Невероятно мощный инструмент для диагностики.

Синтаксис:

lsof

Ключевые опции:

  • -i — показать открытые сетевые соединения.

  • -i :80 — показать процессы, использующие порт 80.

  • -p PID — показать файлы, открытые процессом с указанным PID.

  • +D /path — показать процессы, использующие файлы в указанной директории.

Пример:

 
# Какие процессы используют порт 80?

sudo lsof -i :80

# Какие процессы открыли файлы в директории /var/log?

sudo lsof +D /var/log

Практическое применение: Если вы не можете перезапустить службу из-за сообщения "address already in use", lsof -i :PORT покажет, какой процесс занял этот порт.


12. netstat / ss — Сетевые статистики и соединения

Для чего нужна: Показывает информацию о сетевых подключениях, routing tables, статистику интерфейсов. ss — современная замена netstat.

Синтаксис (на примере ss):

# Показать все listening (прослушивающие) порты

ss -tulnp

# Показать все установленные соединения

ss -t

Ключевые опции:

  • -t — TCP.

  • -u — UDP.

  • -l — только listening (прослушивающие) сокеты.

  • -n — показывать цифры (порты, IP), а не имена.

  • -p — показать процесс, использующий сокет.

Практическое применение: Быстрая проверка, какие порты открыты на сервере и какие службы их слушают. Критически важно для аудита безопасности и настройки firewall.


13. ufw / firewall-cmd — Базовое управление фаерволом

Для чего нужна: Простые утилиты для управления базовыми правилами firewall.

  • ufw — Uncomplicated Firewall для Debian/Ubuntu.

  • firewall-cmd — для дистрибутивов на базе RHEL/CentOS с firewalld.

Синтаксис (ufw):

 
# Разрешить входящее соединение на порт 80

sudo ufw allow 80/tcp

# Разрешить подключение по SSH (порт 22)

sudo ufw allow ssh

# Включить фаервол

sudo ufw enable

# Посмотреть статус и правила

sudo ufw status verbose

Практическое применение: Первоначальная базовая настройка безопасности сервера: запретить все входящие соединения, кроме необходимых (SSH, HTTP, HTTPS).


14. find — Поиск файлов и директорий

Для чего нужна: Поиск файлов по различным критериям: имя, размер, время изменения, владелец.

Синтаксис:

find /path/to/search -options criteria

Ключевые опции:

  • -name "pattern" — поиск по имени.

  • -size +50M — поиск файлов размером больше 50 МБ.

  • -mtime +7 — поиск файлов, измененных более 7 дней назад.

  • -exec command {} \; — выполнить команду над найденными файлами.

Пример:

 
# Найти все файлы .log в /var/log

find /var/log -name "*.log"git config --list

# Найти и удалить все файлы .tmp старше 30 дней

find /tmp -name "*.tmp" -mtime +30 -delete

# Найти файлы больше 100 МБ

find / -type f -size +100M -exec ls -lh {} \;

Практическое применение: Очистка временных файлов, поиск логов, аудит содержимого диска.


15. grep — Поиск по шаблону в файлах и тексте

Для чего нужна: Поиск текста и регулярных выражений внутри файлов. Часто используется в комбинации с другими командами через пайп (|).

Синтаксис:

grep "шаблон" файлgit config --list

Ключевые опции:

  • -i — игнорировать регистр.

  • -r или -R — рекурсивный поиск по директориям.

  • -n — показать номер строки.

  • -v — инвертировать поиск (показать строки, НЕ содержащие шаблон).

  • -E — использовать расширенные регулярные выражения (egrep).

Пример:

# Найти все вхождения "error" в лог-файле

grep -i "error" /var/log/sysloggit config --list

# Рекурсивно найти функцию в исходных кодах

grep -rn "my_function" /path/to/project/git config --list

# Показать все строки в логе, кроме тех, что содержат "GET"

grep -v "GET" access.log

Практическое применение: Анализ логов на предмет ошибок, поиск конфигурационных опций в файлах, фильтрация вывода команд.


16. tail / head — Просмотр начала или конца файла

Для чего нужна: tail показывает конец файла, head — начало.

Синтаксис:

tail файл
head файл

Ключевые опции (для tail):

  • -n N — показать последние N строк.

  • -f — следить за файлом в реальном времени (очень полезно для логов!).

  • -F — аналогично -f, но лучше переоткрывает файл при его ротации.

Пример:

 
# Показать последние 100 строк лога

tail -n 100 /var/log/nginx/access.log

# Следить за логом в реальном времени (live-трафик)

tail -f /var/log/nginx/access.log

# Показать первые 20 строк конфига

head -n 20 /etc/nginx/nginx.conf

Практическое применение: tail -f — основной инструмент для наблюдения за тем, что происходит на сервере прямо сейчас (последние ошибки, входящие HTTP-запросы).


17. cat / less / nano — Просмотр и редактирование файлов

Для чего нужна:

  • cat — быстро показать содержимое небольшого файла.

  • less — постраничный просмотр больших файлов (можно листать).

  • nano — простой текстовый редактор для внесения изменений.

Синтаксис:

cat файл
less файл
nano файл

Практическое применение:

  • cat полезен для конкатенации файлов или быстрого просмотра.

  • less — для чтения логов и конфигов. (Выход — клавиша q).

  • nano — самый простой способ отредактировать конфиг для новичка.


18. chmod / chown — Управление правами доступа и владельцем

Для чего нужна:

  • chmod — изменяет права доступа к файлу (read, write, execute).

  • chown — изменяет владельца и группу файла.

Синтаксис:

# Выдать права на выполнение скрипта

chmod +x script.shgit config --list

# Установить права 755 для директории (owner: rwx, group: rx, world: rx)

chmod -R 755 /path/to/dirgit config --list

# Сменить владельца файла на пользователя www-data и группу www-data

chown www-data:www-data /var/www/html/index.phpgit config --list

Практическое применение: Критически важные команды для безопасности. Неправильные права доступа к файлам веб-сервера — частая причина уязвимостей. Веб-файлы не должны принадлежать пользователю root.


19. tar / gzip — Работа с архивами

Для чего нужна: Создание и распаковка архивов (например, для резервного копирования или переноса файлов).

Синтаксис:

# Создать архив (c - create, v - verbose, z - gzip, f - file)

tar -czvf archive_name.tar.gz /path/to/foldergit config --list

# Распаковать архив (x - extract)

tar -xzvf archive_name.tar.gz

Практическое применение: Создание бэкапов сайта или базы данных, распаковка скачанных дистрибутивов программ.


20. crontab — Настройка планировщика заданий Cron

Для чего нужна: Настройка выполнения команд и скриптов по расписанию.

Синтаксис:

 
# Открыть crontab для редактирования

crontab -e

# Посмотреть текущие задания

crontab -l

Формат записи:

 
минута час день_месяца месяц день_недели команда

Пример:

# Каждую ночь в 3:15 выполнять скрипт бэкапа

15 3 * * * /root/scripts/backup.shgit config --list

# Каждые 10 минут выполнять php-скрипт

*/10 * * * * /usr/bin/php /path/to/script.phpgit config --list

Практическое применение: Автоматизация рутинных задач: ежедневное резервное копирование, очистка временных файлов, запуск скриптов для обработки данных.


Бонус: Комбинации команд и пайпы (|)

Настоящая сила Linux раскрывается при комбинации команд с помощью пайпа |, который передает вывод одной команды на вход другой.

Практические примеры:

# Поиск запущенного процесса PHP

ps aux | grep php

# Подсчет количества строк в логе с IP-адресом

grep "192.168.1.1" access.log | wc -lgit config --list

# Поиск 5 самых больших файлов в текущей директории

du -h . | sort -rh | head -5

# Постоянный поиск ошибок в реальном времени в логе

tail -f /var/log/syslog | grep -i error

  • 0 Пользователи нашли это полезным

Помог ли вам данный ответ?

Ищете что-то другое?

mhost.by