Стандартные утилиты в Linux полезные, но давайте честно: скука смертная! С ними всё серо и уныло, а работать — еще сложнее. Но ведь можно и по-другому: добавить цветов, ускорить процессы и сделать терминал действительно удобным. Делюсь своим личным топом инструментов, которые превращают работу в терминале в настоящее удовольствие.
bat: cat, который наконец-то радует глаз
Cat была моей первой командой в Linux, и я до сих пор часто её запускаю. Но давайте признаем: теперь она выглядит слишком несовременно. Если листать с её помощью большие конфиги, код или сложные файлы — весь текст сливается, нужно вглядываться, чтобы понять, что к чему.
Bat полностью решает эту проблему — это, по сути, тот же cat, только с яркой подсветкой синтаксиса. Читать такие файлы — одно удовольствие: структура сразу видна, выделены важные детали.
А ещё bat умеет показывать изменения в файлах, если проект под Git, и, с помощью fzf и find, позволяет удобно предварительно просматривать файлы с подсветкой.
Установить bat проще простого — он есть почти во всех репозиториях популярных дистрибутивов Linux.
ripgrep: grep, который "ускорили до предела"
В каждом следующем пункте этого списка — апгрейд уже знакомых инструментов. Вот ripgrep: он прост и быстр невероятно. В отличие от старого grep, он сразу использует все ядра процессора и ищет по множеству файлов одновременно.
Ripgrep не просто шустрее, он еще и умнее: распознаёт регистр только там, где это нужно, умеет пропускать указанные файлы и папки, отлично встраивается в другие программы.
Как я пользуюсь терминалом и не ломаю свой Linux
Будьте внимательны — неосторожные команды могут серьезно навредить системе.
Особо порадовала "умная" чувствительность к регистру: если запрос содержит заглавные буквы — поиск строгий, если маленькие — не обращает внимания на регистр. Просто, но очень удобно и экономит время.
Можно быстро исключать из поиска файлы через gitignore или ignore — настраиваете нужные маски, и ripgrep их просто пропускает.
Классная интеграция с Emacs, Vim, Neovim и fzf: например, fzf расширяет ripgrep и делает работу с результатами поиска ещё удобнее (об этом расскажу ниже).
А ещё ripgrep ищет даже в архивах — достаточно добавить флаг Z. Разархивировать вручную больше не нужно: пусть ripgrep сам "пролезет" сквозь архивные файлы и покажет совпадения. Это существенно экономит время!
Установить ripgrep можно через стандартный пакетный менеджер вашей системы.
delta: turbo-наворот для ripgrep и Git
Delta ценят программисты, и я в их числе. Да, ripgrep хорош, но его вывод — сплошной текст, в котором сложно быстро ориентироваться. Когда ищу нужный кусок кода, важно сразу видеть соседние строки и подсвеченные отличия — тогда анализ идёт в разы быстрее.
Delta вносит сюда краски: она добавляет подсветку синтаксиса к результатам ripgrep, а с Git работает вообще шикарно — показывает разницу между файлами (diff) удобно, с цветами и структурой.
Почему настоящие гики обожают Linux-терминал?
Можно жить и без него, но самые крутые фишки — именно тут.
Рекомендую добавить свои конфиги (dotfiles) в Git и отслеживать изменения через delta — ради таких диффов стоит поставить отдельный инструмент!
Ищите "git-delta" — пакеты есть для большинства популярных дистрибутивов: Debian, Ubuntu, Fedora, Arch, а также в Homebrew и Nix.
fd: быстрый, яркий и реально полезный find для каждого
fd создан для тех, кто устал теряться в муторном выводе и медлительности find. С fd всё летает: поиск идет в несколько раз быстрее, а разные типы файлов и папок выделяются своими цветами — искать стало намного проще.
fd сканирует каталоги параллельно, используя все ядра процессора. Разница особенно заметна, если нужно искать что-то сразу по тысячам файлов. Дополнительно есть флаг X — команда применяется ко всем найденным файлам одновременно.
fd тоже поддерживает "умное" игнорирование по gitignore и не забивает выдачу мусором — только релевантные результаты.
fd — в большинстве репозиториев Linux уже есть, ищите через свой менеджер пакетов.
eza: ls, который наконец-то заслужил стать стандартом
eza — это ls, о котором мы мечтали. Цветные схемы, иконки для файлов и папок — мелочи, но как преображают работу. Для меня главное — грамотная цветовая идентификация.
eza умеет разворачивать каталоги в виде дерева и превращает имена файлов в кликабельные ссылки (формат OSC 8). Современные терминалы поддерживают ссылки, так что переход между папками — буквально пара кликов. Но не лишним будет свериться со списком поддерживаемых терминалов.
Изучи Linux с нуля — через 6 захватывающих игр!
Учись и развлекайся одновременно.
Ссылки работают и в режиме дерева — удобно уходить глубоко в каталоги без мороки. Правда, дерево в eza чуть медленнее, чем в классическом tree: каталоги сначала полностью сканируются, а потом выводятся, зато сразу с цветом и ссылками.
Маленький минус — вводить eza --icons вручную быстро надоедает, советую завести короткий алиас.
eza легко поставить через пакетный менеджер, хотя для Debian и Ubuntu может потребоваться добавить отдельный репозиторий — подробности ищите на сайте eza.
FZF: без быстрой истории команд в оболочке просто не выжить!
Не важно, только вы начали или давно считаете себя профи: удобно искать по истории команд — необходимость! Реально, это самый главный помощник. Вводить всё вручную — мучение, а листать историю стрелками — пытка.
Fuzzy-поиск — штука гениальная: достаточно ввести часть команды, и инструмент тут же найдет нужную среди недавних. Например, напишите emp или xpe, и fzf мгновенно подхватит example. Забыл точную команду? Всё равно найдёте всего за пару секунд.
Я много лет пользуюсь fzf History Search для zsh, но есть отличная альтернатива — приватная утилита Atuin. По сути, работают почти одинаково и без сбоев.
Инструкции по установке смотрите на GitHub fzf History Search. Или загляните в мою отдельную статью по настройке Atuin — там всё наглядно и быстро.
Бонус: скрипт, который превратит поиск по файлам в настоящее наслаждение
Если у вас стоят fzf, ripgrep и bat, обязательно попробуйте этот скрипт для bashrc. Он позволяет через fuzzy-поиск быстро просматривать файлы и тут же запускать редактор — сразу на нужной строке. Просто скопируйте команду в bashrc и обновите конфиг через source bashrc.
По умолчанию файлы будут открываться в nano, но если вы предпочитаете Vim, Neovim или Emacs — просто смените переменную editor и перезапустите настройки.
Чтобы воспользоваться скриптом, зайдите в папку с текстами и начните поиск — можно использовать не только слова, но даже шаблоны (если освоите регулярные выражения — на это уйдёт час-другой).
Без fzf History Search, ripgrep и delta я в Linux — как без рук. Эти инструменты я ставлю сразу. А eza, bat и fd делают работу в терминале яркой и наглядной. Конечно, есть ещё масса крутых программ для мониторинга системы — но об этом как-нибудь потом.
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Премиум подписка - это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь
Также подписывайтесь на нас в:
- Telegram: https://t.me/gergenshin
- Youtube: https://www.youtube.com/@gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru