Linux CLI гайд для dev: top, htop и grep с примерами
-
В Linux CLI скрывается мощь для разработчиков. Команды top, htop и grep помогают быстро мониторить систему, находить проблемы и анализировать логи. Это базовый набор, который экономит часы на отладку.
Зачем они нужны dev’ам? Сервер завис — смотришь процессы. Логи разрослись — ищешь ошибку. Без GUI в продакшене CLI — единственный вариант. Разберём каждую команду по делу, с примерами и хитростями.
Мониторинг процессов с top и htop
Команда top — стандартный инструмент для просмотра запущенных процессов в реальном времени. Она показывает CPU, память, нагрузку на систему и список процессов с их PID, пользователем и использованием ресурсов. Запускается просто:
topв терминале, и ты видишь обновляющуюся таблицу. По умолчанию сортировка по CPU, но можно менять клавишами: Shift + P для CPU, Shift + M для памяти.htop — улучшенная версия top с цветами, мышью и деревом процессов. Установка простая:
sudo apt install htopна Debian/Ubuntu илиsudo dnf install htopна Fedora. В htop удобнее фильтровать процессы по имени (F4), убивать их (F9) и видеть бары нагрузки. Для dev’ов это must-have при дебаже: видишь, какой сервис жрёт RAM, и сразу реагируешь. Переходим к примерам использования.Вот ключевые возможности:
- top -p PID: мониторит конкретный процесс по ID. Полезно для слежки за зависшим скриптом.
- htop -u user: показывает только процессы пользователя. Идеально в multi-user среде.
- F3 в htop: поиск по строке, чтобы найти nginx или python.
Команда Преимущества Когда использовать top Встроенная, не требует установки Быстрый чек на любом сервере htop Цвета, мышь, дерево процессов Ежедневная разработка и деbag top -b -n1 > processes.txt Экспорт в файл Анализ логов оффлайн Нюанс: в top нажми q для выхода, в htop — F10.
Поиск в логах и файлах с grep
grep — король поиска по тексту в Linux. Ищет строки по паттерну в файлах или выводе команд. Базовый синтаксис:
grep 'pattern' file.log. Для dev’ов это спасение: логи на 10 ГБ, а ошибка в одной строке — grep её вытащит за секунды. Рекурсивный поиск:grep -r 'ERROR' /var/log/пройдётся по всем подпапкам.С флагами grep становится суперинструментом. grep -i игнорирует регистр, grep -v инвертирует (показывает несовпадения), grep -n нумерует строки. В комбо с
tail -f app.log | grep ERRORследишь за ошибками в реальном времени. Аps aux | grep pythonпокажет все Python-процессы. Логично перейти к примерам для типичных задач dev’а.Полезные комбинации:
journalctl -u nginx | grep '500': ошибки 500 в логах systemd.grep -E 'error|warn' *.log: поиск по нескольким файлам с OR.grep -A 5 -B 5 'exception' stacktrace.log: контекст вокруг совпадения (±5 строк).
Флаг Описание Пример -i Игнор регистра grep -i error log.txt-r Рекурсивно grep -r 'TODO' src/-c Счётчик строк grep -c 'failed' access.logВажно: экранируй спецсимволы в паттернах, типа точки —
grep '\d+' logдля цифр.Комбо top/htop + grep для dev-тасков
Одиночные команды хороши, но в связке они раскрываются. Например,
ps aux | grep node | head -10— топ-10 Node.js процессов. Илиtop -b -n1 | grep httpd— снапшот Apache из top. htop с grep: сначала htop, копируешь PID, потомgrep PID /proc/*/status. Для логов:docker logs container | grep OOMKilled— поиск out-of-memory в Docker.Это ускоряет деbag в проде. Сервер под нагрузкой?
watch -n1 'ps aux --sort=-%mem | head'— обновляет топ по памяти каждую секунду. С ripgrep (rg) вместо grep быстрее на больших файлах:rg 'panic' /var/log. Установка:sudo apt install ripgrep. Такие связки экономят время на 80% задач мониторинга.Быстрые рецепты:
- Мониторинг памяти:
htop→ F6 → RES (сортировка по резидентной памяти). - Поиск утечек:
grep 'malloc' core.dump. netstat -tuln | grep :3000— кто слушает порт.
Задача Команда Результат Топ CPU top→ Shift+PСписок по нагрузке Логи ошибок tail -f log | grep FAILLive-мониторинг Процессы пользователя htop -u devТолько твои задачи Что дальше в Linux CLI для dev
Мы разобрали top, htop и grep — базу для 90% мониторинга и поиска. Они решают ежедневные боли: зависшие процессы, скрытые ошибки в логах, быструю диагностику. Осталось освоить
awk,sedдля обработки вывода иtmuxдля сессий.Дальше копай
straceдля трассировки системных вызовов илиbtopкак супер-htop. Практикуй на виртуалке — через неделю CLI станет быстрее GUI. Выбирай дистрибутив по вкусу, но CLI универсален везде.
© 2024 - 2025 ExLends, Inc. Все права защищены.