Коротко: маленькие CLI-утилиты экономят время: ripgrep, fzf, jq, htop/btop и удобные замены стандартных команд — ставятся пакетным менеджером.
Несколько маленьких консольных утилит экономят разработчику кучу времени и заменяют громоздкие GUI. Ниже — те, что стоит поставить первыми: быстрый поиск по коду, фаззи-поиск, работа с JSON, мониторинг и удобные замены стандартных команд. Все ставятся пакетным менеджером (apt/brew).
ripgrep (rg) — поиск по коду в разы быстрее grep
Уважает .gitignore, рекурсивен по умолчанию, очень быстр:
rg "TODO" # найти во всём проекте
rg -t php "function handle" # только в .php
rg -i "userservice" -g '!vendor' # без учёта регистра, исключив vendor
rg -l "deprecated" # только имена файлов
fzf — фаззи-поиск по чему угодно
Интерактивный фильтр: подаёте список на вход — выбираете мышкой/набором:
# открыть файл проекта в редакторе
vim "$(fzf)"
# фаззи-история команд (после установки шелл-интеграции — Ctrl+R)
# фаззи-переключение веток git:
git switch "$(git branch --format='%(refname:short)' | fzf)"
Сильнее всего fzf раскрывается с шелл-интеграцией: Ctrl+R (история), Ctrl+T (файлы), **<Tab> (автодополнение путей).
jq — обработка JSON в терминале
Незаменим при работе с API и логами в JSON:
curl -s https://api.example.com/users | jq '.' # красиво
... | jq '.data[] | {id, name}' # выбрать поля
... | jq '.items | length' # длина массива
... | jq -r '.[].email' # сырые строки (без кавычек)
cat log.json | jq 'select(.level=="error")' # фильтр
htop / btop — мониторинг процессов
Замена top с интерактивом: сортировка, поиск процесса (F3), kill (F9), дерево процессов (F5). btop — ещё красивее, с графиками CPU/памяти/сети/дисков.
Замены стандартных команд
- bat —
catс подсветкой синтаксиса и номерами строк. - eza (бывш. exa) —
lsс цветами, иконками и git-статусом:eza -la --git. - fd — дружелюбная замена
find:fd configвместо громоздкогоfind . -name. - tldr — короткие примеры вместо простыни
man:tldr tar. - delta — красивый diff для git (подсветка, side-by-side).
- ncdu — интерактивный анализ, что съело место на диске.
Связки, которые работают вместе
# найти файлы и интерактивно выбрать, что открыть
rg -l "TODO" | fzf | xargs $EDITOR
# топ-5 самых больших файлов в каталоге
du -ah . | sort -rh | head -5
# красивый json из ответа сервиса с фильтром
curl -s localhost:8080/health | jq '.checks[] | select(.ok==false)'
С чего начать
Поставьте сразу три: ripgrep, fzf, jq — они дают наибольший прирост в повседневной работе. Остальное добавляйте по вкусу. Многое уже есть в репозиториях: apt install ripgrep fzf jq или brew install ripgrep fzf jq.
Маленькие инструменты складываются в большую экономию времени. Если хотите навести порядок в локальном окружении и процессах команды — обращайтесь за консультацией.


Комментарии