Коротко: маленькие 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/памяти/сети/дисков.

Замены стандартных команд

  • batcat с подсветкой синтаксиса и номерами строк.
  • 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.

Маленькие инструменты складываются в большую экономию времени. Если хотите навести порядок в локальном окружении и процессах команды — обращайтесь за консультацией.