20 лучших малоизвестных и полезных команд Linux

В арсенале любого опытного Linux-администратора есть набор проверенных временем команд, которые используются ежедневно. ls, cd, grep, find, ps, top – без них немыслима эффективная работа. Однако за пределами этого стандартного набора скрывается множество мощных, но менее известных утилит, способных значительно упростить диагностику, автоматизацию и управление системой. Эта статья посвящена именно таким “скрытым жемчужинам” – 20 командам Linux, которые, возможно, не у всех на слуху, но обладают огромным потенциалом для решения реальных административных задач и экономии вашего драгоценного времени.

  1. mtr (My Traceroute)
    • Что делает: Комбинирует ping и traceroute в одном инструменте, постоянно опрашивая маршрут и показывая статистику потерь и времени отклика для каждого хопа. Незаменим для диагностики проблем с сетью.
    • Пример: mtr google.com
  2. ss (Socket Statistics)
    • Что делает: Современная замена netstat. Показывает информацию о сетевых сокетах (TCP, UDP, RAW, UNIX). Работает быстрее и предоставляет больше информации, чем netstat.
    • Пример: ss -tulnp (показать все слушающие TCP/UDP порты с именами процессов)
  3. iotop
    • Что делает: Мониторинг дискового I/O в реальном времени, показывая, какой процесс активно читает/пишет на диск. Похож на top, но для диска. Требует root-прав.
    • Пример: sudo iotop -o (показать только процессы, которые реально что-то делают с диском)
  4. nethogs
    • Что делает: Группирует использование сетевого трафика по процессам. Помогает быстро найти, какое приложение “ест” весь канал. Требует root-прав.
    • Пример: sudo nethogs eth0 (мониторить трафик на интерфейсе eth0)
  5. lsof (List Open Files)
    • Что делает: Показывает, какие файлы (включая сетевые сокеты, пайпы, устройства) открыты какими процессами. Чрезвычайно полезно для отладки (“какой процесс держит порт?”, “почему нельзя отмонтировать диск?”).
    • Пример: sudo lsof -i :80 (показать процесс, использующий порт 80) или sudo lsof /var/log/syslog (показать, кто держит открытым syslog)
  6. pgrep/pkill
    • Что делает: Ищет процессы (pgrep) или отправляет им сигналы (pkill) по имени или другим атрибутам, без необходимости парсить вывод ps через grep.
    • Пример: pkill -f “python my_script.py” (убить все процессы, соответствующие шаблону) или pgrep -u nginx (найти PID процессов пользователя nginx)
  7. pstree
    • Что делает: Показывает дерево процессов, наглядно отображая родительско-дочерние связи. Удобно для понимания, какой процесс породил какой.
    • Пример: pstree -p (показать дерево с PID)
  8. dstat
    • Что делает: Универсальный генератор статистики ресурсов (CPU, диск, сеть, память, I/O) в реальном времени. Очень гибкий, позволяет комбинировать разные метрики. Часто удобнее, чем запускать vmstat, iostat и ifstat по отдельности.
    • Пример: dstat -tcdmn (показать время, статистику CPU, диска, памяти и сети)
  9. atop
    • Что делает: Продвинутый монитор производительности, похожий на top/htop, но с возможностью записи истории системных метрик и метрик процессов для последующего анализа. Показывает утилизацию всех ресурсов (CPU, MEM, DSK, NET) на уровне системы и процессов.
    • Пример: atop (интерактивный режим) или atop -r /var/log/atop/atop_YYYYMMDD (просмотр истории за определенный день)
  10. multitail
    • Что делает: Позволяет просматривать (“tail -f”) несколько лог-файлов одновременно в одном терминале, разделяя экран. Можно подсвечивать строки по шаблонам.
    • Пример: multitail /var/log/nginx/access.log /var/log/nginx/error.log
  11. parallel (GNU Parallel)
    • Что делает: Выполняет команды параллельно. Мощная альтернатива xargs для распараллеливания задач на многоядерных системах.
    • Пример: find . -name “*.jpg” | parallel convert {} {.}.png (конвертировать все jpg в png параллельно)
  12. watch
    • Что делает: Запускает указанную команду через регулярные интервалы времени и показывает ее вывод на весь экран, обновляя его. Удобно для мониторинга изменений.
    • Пример: watch -n 1 ‘ss -an | grep ESTABLISHED | wc -l’ (каждую секунду показывать количество установленных TCP-соединений)
  13. script / scriptreplay
    • Что делает: Записывает всю сессию терминала (ввод и вывод) в файл. scriptreplay позволяет воспроизвести эту сессию в реальном времени. Полезно для демонстраций или аудита действий.
    • Пример: script my_session.log (начать запись), exit (закончить), scriptreplay my_session.log (воспроизвести)
  14. lsblk (List Block Devices)
    • Что делает: Показывает информацию о блочных устройствах (диски, разделы, LVM, точки монтирования) в древовидном формате. Нагляднее, чем fdisk -l или cat /proc/partitions.
    • Пример: lsblk -f (показать также информацию о файловых системах)
  15. getent (Get Entries)
    • Что делает: Получает записи из административных баз данных системы (passwd, group, hosts, services, networks и т.д.), используя настроенные источники (файлы, LDAP, NIS…). Полезно для проверки конфигурации NSS.
    • Пример: getent passwd username (получить информацию о пользователе username из всех источников) или getent hosts google.com (разрешить имя через настроенные источники)
  16. chage (Change Age)
    • Что делает: Управляет информацией об устаревании пароля пользователя (срок действия, период неактивности, дата последней смены). Важно для политик безопасности.
    • Пример: sudo chage -l username (показать информацию об устаревании пароля) или sudo chage -M 90 username (установить максимальный срок действия пароля в 90 дней)
  17. column
    • Что делает: Форматирует входные данные в колонки. Очень полезно для улучшения читаемости вывода других команд при работе в консоли.
    • Пример: mount | column -t (вывести список смонтированных ФС в виде аккуратной таблицы)
  18. dig (Domain Information Groper)
    • Что делает: Мощный инструмент для запросов к DNS-серверам. Предоставляет гораздо больше информации и гибкости, чем nslookup или host.
    • Пример: dig google.com MX +short (получить MX-записи для домена в кратком формате) или dig @8.8.8.8 google.com A (запросить A-запись у сервера 8.8.8.8)
  19. dpkg -L <package> / rpm -ql <package>
    • Что делает: Показывает список файлов, установленных указанным пакетом (для Debian/Ubuntu и RHEL/CentOS/Fedora соответственно). Незаменимо, когда нужно понять, откуда взялся тот или иной файл конфигурации или бинарник.
    • Пример (Debian/Ubuntu): dpkg -L nginx-core
    • Пример (RHEL/CentOS): rpm -ql httpd
  20. journalctl
    • Что делает: Инструмент для запроса и просмотра логов из журнала systemd (journald). Мощные возможности фильтрации по времени, юнитам, приоритету и т.д. Становится стандартом де-факто во многих дистрибутивах.
    • Пример: journalctl -u nginx.service -f (следить за логами сервиса nginx) или journalctl –since “1 hour ago” (показать все логи за последний час)

Ниже вы найдёте 10 малоизвестных, но реально полезных приёмов для работы в Linux. Эти советы охватывают сетевую диагностику, быстрое обращение к документации, анализ диска, поиск и навигацию по файлам, а также приёмы повышения продуктивности в оболочке. Каждый из них экономит время и усилия при администрировании и повседневной работе.

Диагностика сети

1. Используйте mtr для одновременного ping и traceroute

В отличие от классических ping и traceroute, mtr отображает маршрут и задержки в реальном времени, обновляя статистику каждый тик секунды LFCS Подготовка к сертификации.

2. Просматривайте статистику сокетов с помощью ss

Команда ss -tuln заменяет устаревший netstat и показывает подробности TCP/UDP‑соединений, номера портов и состояние слушающих сокетов мгновенно LFCS Подготовка к сертификации.

Работа с документацией

3. Освойте tldr — упрощённые man‑страницы

Вместо длинных статей man, tldr <команда> выдаёт краткий пример использования и основные опции, что ускоряет поиск нужной информации The world’s open source leader.

Анализ дискового пространства

4. Интерактивный разбор диска с ncdu

ncdu /путь запускает ncurses‑интерфейс, где вы сразу видите, какие папки и файлы занимают больше всего места, и можете удалять их прямо из интерфейса IOFLOOD.

Поиск и навигация

5. Заменитель find — утилита fd

fd <шаблон> работает во много раз быстрее, по умолчанию игнорирует скрытые файлы и подчёркивает совпадения цветом, не требуя сложных ключей GitHub.

6. Умный cd с помощью zoxide

z <фрагмент> запомнит часто посещаемые каталоги и предложит нужный путь за пару символов, заменяя обычный cd на более интеллектуальный навигатор GitHub.

Повышение продуктивности в оболочке

7. Редактирование текущей команды в $EDITOR: Ctrl+X Ctrl+E

В Bash сочетание Ctrl+x Ctrl+e открывает редактирование всей строки в вашем редакторе (по $EDITOR), что удобно для длинных или сложных команд LFCS Подготовка к сертификации.

8. Массовая обработка аргументов через xargs

find … | xargs -r команда позволяет запускать любую утилиту на каждом найденном файле без сложных циклов, значительно упрощая скрипты Opensource.com.

9. Случайная выборка строк: shuf

shuf -n 5 file.txt выдаёт 5 случайных строк из файла — полезно для тестирования, выборки примеров или организации простого рандомизированного опроса LFCS Подготовка к сертификации.

10. Изоляция монтирования для тестов: unshare

unshare -m bash создаёт новый mount‑пространство имён, где вы можете экспериментировать с монтированием и pivot_root без риска затронуть основную систему man7.org.

Эти приёмы помогут вам ускорить рутину, сократить количество опечаток и сделать терминал ещё более мощным инструментом в руках профессионала.

+1
0
+1
4
+1
0
+1
0
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *