Как системный администратор Linux, работающий с большим парком компов, вы ежедневно занимаетесь обеспечением стабильности, безопасности и максимальной производительности систем. От устранения неполадок до мониторинга ресурсов и обеспечения работоспособности – вы выполняете множество задач, и время всегда играет решающую роль.
Хотя Linux предлагает тысячи команд, не все из них являются частью вашего повседневного инструментария. Однако есть основной набор мощных и надежных команд, которые вы будете использовать каждый день, часто по несколько раз.
В этой статье мы расскажем вам о 20 наиболее важных командах Linux, которые должен освоить каждый системный администратор. Это не просто команды, это ваши основные инструменты для мониторинга производительности, управления журналами, контроля служб, отладки проблем и многого другого.
1. htop – Интерактивный просмотрщик процессов
Если вы все еще используете top, пора переходить на htop – мощную и удобную альтернативу, которая отображает процессор, память, использование свопа, дерево процессов и многое другое в чистом интерактивном интерфейсе.
htop
Используйте клавиши со стрелками для прокрутки, F6 для сортировки процессов и F9 для уничтожения одного из них, что гораздо проще, чем вручную находить PID и использовать команду kill.

2. lsof – Список открытых файлов и сокетов
lsof означает List Open Files, и это один из самых мощных инструментов для определения того, какой процесс использует определенный файл, каталог или сетевой порт в системе Linux.
lsof -i :80
Это покажет PID, пользователя и команду, которая в настоящее время использует порт 80, что обычно полезно, когда ваш веб-сервер не запускается, потому что порт уже используется.
3. journalctl – Просмотр системных журналов (Systemd)
В системах на базе systemd (например, RHEL 7, CentOS 7, Ubuntu 18.04) journalctl – это ваш основной инструмент для доступа к системным журналам и их анализа.
journalctl -xe
Эта команда показывает самые последние журналы с акцентом на ошибки и критические сообщения – очень полезно, когда что-то ломается.

Просмотр подробных системных журналов в LinuxХотите проверить журналы для определенной службы? Просто добавьте флаг -u, за которым следует имя службы:
journalctl -u nginx
4. systemctl – Управление службами Systemd
Большинство современных дистрибутивов Linux используют systemd в качестве системы инициализации по умолчанию, а команда systemctl позволяет запускать, останавливать, перезапускать, включать, отключать и проверять состояние служб в вашей системе.
Вот несколько наиболее распространенных и полезных примеров:
Check the status of a service systemctl status apache2 Restart the SSH service systemctl restart sshd Enable Nginx to start at boot systemctl enable nginx
5. du – Проверка использования диска
Нужно узнать, что занимает место на вашем сервере? Команда du (disk usage – использование диска) – лучший инструмент для этого.
du -sh /var/*
Эта команда показывает размер каждого подкаталога внутри /var. Флаг -s дает сводку (вместо перечисления каждого файла), а -h делает вывод человекочитаемым (например, MB, GB вместо просто байтов).
120M /var/log 1.5G /var/lib 4.0K /var/tmp
6. df – Проверка использования дискового пространства
Хотите узнать, сколько места осталось на дисках ваших серверов? Используйте команду df, которая показывает, сколько дискового пространства используется и сколько еще доступно на всех смонтированных файловых системах.
df -h
Эта команда незаменима, когда вы имеете дело с полными дисками, резервными копиями или сбоями приложений из-за отсутствия свободного места.

7. free – Проверка использования памяти и свопа
Не хватает памяти? Используйте команду free, чтобы проверить, сколько оперативной памяти и свопа использует ваша система.
free -h

8. uptime – проверка времени работы системы и средней нагрузки
Команда uptime показывает, как долго работает ваша Linux-система, сколько пользователей вошло в систему, а также средние значения нагрузки на систему за последние 1, 5 и 15 минут.
uptime
Пример вывода:
10:42:35 up 3 days, 5:22, 2 users, load average: 0.10, 0.25, 0.32
9. top – Базовый монитор системы реального времени
top не так удобен в использовании, как htop, но он предустановлен почти в каждой системе Linux. Если вы работаете на минимальном или свежеустановленном сервере, где htop еще не доступен, то top – ваше быстрое решение.
top

10. ps aux – сделать снимок запущенных процессов
Вам нужно быстро просмотреть все процессы, запущенные в вашей системе? ps aux даст вам полный снимок – кто, что выполняет, сколько процессора и памяти они используют, и многое другое.
ps aux | grep apache
Эта команда выводит список всех процессов, а часть grep apache отфильтровывает только те, которые связаны с Apache. Очень удобно, когда вы отслеживаете работу служб, отлаживаете проблемы или пишете скрипты, отслеживающие активность процессов.
Хотите копнуть глубже? Используйте:
ps aux --sort=-%mem | head
Здесь показаны самые требовательные к памяти процессы, отсортированные в порядке убывания.
11. netstat / ss – проверка сетевых подключений
Как системному администратору, вам важно знать, какие службы прослушивают порты и какие удаленные соединения активны на вашем сервере.
В течение многих лет для этого использовалась команда netstat. Но теперь его место занял ss (статистика сокетов) – он быстрее, современнее и активно поддерживается.
ss -tuln

12. ip – сетевой интерфейс и маршрутизация
Команда ip – это современная замена старых команд ifconfig и route. Если вы до сих пор используете ifconfig, пора переходить – ip более мощная, активно поддерживается и доступна по умолчанию во всех современных дистрибутивах Linux.
Вот две важные подкоманды, которые вы будете использовать ежедневно:
ip a ip r

13. ping – подключение к сети
Один из самых простых и быстрых инструментов для проверки доступности хоста (веб-сайта, сервера или IP-адреса) из вашей системы. Он работает путем отправки эхо-запросов ICMP (Internet Control Message Protocol) и ожидания ответов.
ping google.com
Если хост работает и доступен, вы увидите ответы с указанием времени, TTL (Time to Live) и статистики пакетов. Хотите отправить всего несколько пакетов, а не рассылать их бесконечно? Используйте опцию -c (для подсчета):
ping -c 4 google.com

14. traceroute / tracepath – отладка сетевых маршрутов
Когда Сервер или веб-сайт не отвечает на запросы, а ping не дает никаких ответов, пора посмотреть, как ваши пакеты перемещаются по сети и где они застревают. Вот тут-то и пригодится traceroute (или его альтернатива tracepath).
Эти команды показывают весь путь пакета от вашей системы до места назначения, перечисляя каждый промежуточный маршрутизатор или хоп на пути.
traceroute google.com

15. nc (Netcat) – проверка подключения к порту
nc, сокращение от Netcat, часто называют швейцарским армейским ножом для работы с сетями. Одно из самых распространенных и мощных его применений для системных администраторов – проверка того, открыт ли порт и доступен ли он на удаленной машине – очень удобно для диагностики таких служб, как SSH, веб-серверы или порты баз данных.
Допустим, вы хотите проверить, открыт ли SSH (порт 22) на удаленном сервере 192.168.1.10.
nc -zv 192.168.1.10 22
16. rsync – синхронизация файлов по SSH
Когда речь идет о резервном копировании или синхронизации файлов, ничто не сравнится с rsync – быстрым, эффективным и удобным для работы в сети. В отличие от scp, который копирует все с нуля, rsync передает только измененные части файлов, что экономит время и пропускную способность.
rsync -avz /data/ user@remote:/backup/
Эта команда используется для синхронизации или копирования всего содержимого каталога /data/ с вашей локальной машины на удаленный сервер по SSH, помещая его в каталог /backup/ на этом сервере.
17. crontab – Планирование заданий (автоматизация задач)
Как системный администратор, вы не хотите каждый день вручную запускать скрипты, верно? В этом случае на помощь приходит crontab, который позволяет планировать автоматическое выполнение задач в определенное время – будь то запуск резервного копирования, ротация журналов или отправка отчетов.
crontab расшифровывается как cron table – файл, содержащий список команд, которые будут выполняться по расписанию демоном cron. Это как ваш персональный планировщик задач для Linux.
crontab -e
Добавьте такие записи, как:
0 2 * * * /usr/bin/backup.sh
Каждая строка в кронтабе соответствует этому формату с пятью полями:
* * * * * command-to-run │ │ │ │ │ │ │ │ │ └── Day of the week (0 - 7) [Sunday = 0 or 7] │ │ │ └──── Month (1 - 12) │ │ └────── Day of the month (1 - 31) │ └──────── Hour (0 - 23) └────────── Minute (0 - 59)
18. tail -f – мониторинг журналов в реальном времени
Когда в системе Linux что-то идет не так, журналы обычно являются первым местом, куда вы должны заглянуть. Команда tail -f позволяет просматривать журналы в реальном времени, что очень полезно для отладки.
tail -f /var/log/messages
Хотите отфильтровать журналы по определенному сервису или ключевому слову? Объедините ее с grep:
tail -f /var/log/syslog | grep sshd
19. chmod и chown – разрешения и права владения файлами
Управление правами доступа к файлам очень важно в любой системе Linux, и эти две команды помогут вам контролировать, кто и к чему может получить доступ:
chmodустанавливает разрешения (чтение, запись, выполнение).chownизменяет владельца и группу.
Примеры:
chmod 755 script.sh chown user:user file.txt
20. find – Поиск файлов
Вам нужно найти файл, но вы не уверены, где он находится? Команда find – ваш лучший выбор. Она мощная, гибкая и работает по имени, размеру, типу и даже дате модификации файла.
find /var/log -name "*.log"
Хотите очистить старые файлы?
find /tmp -type f -mtime +7 -delete
Удаляет файлы в /tmp, которые старше 7 дней – очень полезно для скриптов очистки диска.
Заключение
Как системный администратор, знание этих 20 команд может значительно повысить вашу эффективность. Если вы устраняете неполадки, следите за состоянием системы или автоматизируете задачи, эти инструменты пригодятся вам ежедневно.
Если вы нашли эту статью полезной, поделитесь ею со своими коллегами-администраторами Linux или добавьте ее в закладки для дальнейшего использования.




Комментарии (0)