В недавней статье XDA указывалось, что самое важное обновление безопасности Ubuntu 26.04 — это то, что мало кто замечает: GNU coreutils постепенно заменяется эквивалентами на Rust. Безопасность памяти, меньше уязвимостей в системных утилитах, и дополнительное преимущество — улучшения удобства использования, которых никогда не было в версиях GNU. Вам не нужно ждать, пока Ubuntu LTS включит этот переход. Мы протестировали восемь лучших приложений для современных утилит CLI на Windows, macOS и Linux, каждое из которых уже можно установить сегодня.

Критерий для каждого: как оно улучшает оригинальный GNU инструмент, насколько хорошо оно работает на каждой платформе и стоит ли оно своего места в ежедневном рабочем процессе.

На что обратить внимание в современной утилите CLI

Несколько критериев отделяют те инструменты, которые остаются, от тех, которые вы удаляете через неделю:

Быстрое сравнение

ИнструментЗаменяетПлатформыЯзыкСтоимость
StarshipPS1 / bash promptWindows, macOS, LinuxRustБесплатно
batcatWindows, macOS, LinuxRustБесплатно
ezalsWindows, macOS, LinuxRustБесплатно
ripgrepgrepWindows, macOS, LinuxRustБесплатно
fdfindWindows, macOS, LinuxRustБесплатно
zoxidecdWindows, macOS, LinuxRustБесплатно
fzfreverse-searchWindows, macOS, LinuxGoБесплатно
bottomtop / htopWindows, macOS, LinuxRustБесплатно

8 лучших приложений для современных утилит CLI на десктопе

1. Starship — лучший кроссплатформный промпт

Starship — это кроссплатформный промпт, который победил. Он заменяет для каждой оболочки PS1 (bash), функцию prompt (zsh) и переменную PROMPT (fish) одним файлом конфигурации TOML, который отображает одинаковый промпт везде. Определяет ветку Git, версию языка, профиль AWS, контекст Kubernetes, состояние батареи, активный virtualenv. Всё в одном бинарнике. Starship для современной работы в CLI убирает самый большой файл dotfiles, который должен поддерживать каждый разработчик.

Где он отстаёт: Пользовательские промпты, написанные для конкретной оболочки, иногда требуют небольшой адаптации. Некоторые модули требуют внешних инструментов (модулю Kubernetes нужен kubectl).

Цены:

Платформы: Windows, macOS, Linux

Загрузить: Starship

Итог: Первый инструмент для установки при переходе на современные утилиты CLI. Заменяет сотню строк bashrc.


2. bat — лучшая замена cat

bat — это замена cat с подсветкой синтаксиса, номерами строк, интеграцией с Git и автоматической подкачкой. Передайте файл в bat и он автоматически форматирует по расширению, показывает изменённые строки из индекса Git и красиво разбивает на страницы. Если добавить алиас на cat в репозитории dotfiles, это войдёт в привычку за неделю. bat для современной работы в CLI — это один из самых эффективных свопов, которые вы можете сделать.

Где она отстаёт: Вывод более красивый, чем удобный для скриптов. Для конвейеров, ожидающих выход сырого cat, используйте bat -pp или оставьте cat.

Цены:

Платформы: Windows, macOS, Linux

Загрузить: bat на GitHub

Итог: Установите и добавьте алиас cat=bat --paging=never --style=plain для прямой замены, или просто добавьте алиас bat и оставьте cat для конвейеров.


3. eza — лучшая замена ls

eza — это поддерживаемое форк exa, замены ls с цветом, статусом Git, иконками, гиперссылками и встроенным режимом дерева eza --tree. Флаг --git аннотирует каждый файл его состоянием в индексе; режим --long показывает читаемые права доступа и человеко-читаемые размеры файлов по умолчанию. eza для современной работы в CLI делает ls -la что-то, что вы можете прочитать с первого взгляда.

Где она отстаёт: Не воспроизводит каждый эзотерический флаг GNU ls. Скрипты, которые полагаются на определённый вывод ls, должны продолжать использовать ls.

Цены:

Платформы: Windows, macOS, Linux

Загрузить: eza на GitHub

Итог: С алиасом на ls, это свопание, который большинство разработчиков замечают в первый день.


4. ripgrep — лучшая замена grep

ripgrep (ripgrep, команда rg) — это проект, который показал остальному сообществу современных утилит CLI, что возможно. По умолчанию он уважает gitignore, проходит директории параллельно, правильно обрабатывает Unicode и завершает большие поиски за долю времени, которое занимает GNU grep. Он также поставляется в VS Code как бэкенд поиска. ripgrep для современной работы в CLI — это стандартный поиск по файлам для большинства разработчиков в 2026 году.

Где он отстаёт: По умолчанию фильтрует файлы .gitignored, что удивляет новых пользователей при поиске артефактов сборки. Суп флагов в итоге наверстывает grep.

Цены:

Платформы: Windows, macOS, Linux

Загрузить: ripgrep на GitHub

Итог: Установите его, введите rg, больше не смотрите назад.


5. fd — лучшая замена find

fd — это более дружелюбный find. Синтаксис имеет смысл (fd pattern вместо find . -name '*pattern*'), он уважает gitignore как ripgrep, цвета обозначают типы файлов и параллельный проход делает его быстрее на больших деревьях. fd для современной работы в CLI сокращает самую неудобную команду, которую каждый разработчик пишет по памяти.

Где он отстаёт: Не охватывает полный словарь операторов find (-exec, -newer, комбинации -size). Опытные пользователи сохраняют find для этих случаев.

Цены:

Платформы: Windows, macOS, Linux

Загрузить: fd на GitHub

Итог: С алиасом f или использованием как fd, он делает ежедневные 80 процентов использования find короче и быстрее.


6. zoxide — лучшая замена cd

zoxide — это более умный cd. Он отслеживает посещаемые вами директории, ранжирует их по частоте и позволяет z partial-name прыгнуть туда прямо из любого места файловой системы. После недели использования это создаёт персонализированный индекс, который лучше печатания полных путей или полагания на автодополнение. zoxide для современной работы в CLI устраняет самую повторяющуюся команду в любой оболочке.

Где он отстаёт: Пока индекс не будет построен, это просто cd. Интеграция оболочки должна быть добавлена в ваш rc-файл, что замечают не все пользователи.

Цены:

Платформы: Windows, macOS, Linux

Загрузить: zoxide на GitHub

Итог: Установите, используйте cd неделю для заполнения базы данных, затем добавьте алиас cd=z.


7. fzf — лучший нечёткий поиск

fzf — это универсальный нечёткий поиск. Передайте список (файлы, процессы, ветки git, историю команд) в fzf, введите фрагмент, нажмите enter, получите запись. Интеграция оболочки добавляет Ctrl-R обратный поиск через историю, Ctrl-T выбор файла и Alt-C выбор cd. fzf для современной работы в CLI — это интерактивный слой поверх каждого другого инструмента в этом списке: передайте ripgrep в fzf для живого поиска, передайте ветки git в fzf для переключения, передайте процессы в fzf для завершения.

Где он отстаёт: Написан на Go, а не на Rust, но это больше стилистический момент, чем функциональный. Старые версии имели другие значения по умолчанию для привязок клавиш; свежие установки должны использовать версию 0.50 или новее.

Цены:

Платформы: Windows, macOS, Linux

Загрузить: fzf на GitHub

Итог: Самый мощный одиночный инструмент в этой категории. Стоит выучить привязки, даже если вы никогда не переконфигурируете значения по умолчанию.


8. bottom — лучшая замена top

bottom (команда btm) — это кроссплатформная замена htop. CPU на ядро, RAM, сетевой IO, дисковый IO, процессы (сортируемые, убиваемые) и панель температуры где поддерживается. Привязки клавиш в стиле Vim лучше функциональных клавиш htop для пользователей, которые уже думают в hjkl. bottom для современной работы в CLI охватывает проверку системы в одном бинарнике, который работает одинаково на Linux, macOS и Windows.

Где он отстаёт: Не заменяет специализированные инструменты (nethogs, iotop) для узкого профилирования. Некоторые терминалы нуждаются в шрифте Nerd для чистого отображения графиков.

Цены:

Платформы: Windows, macOS, Linux

Загрузить: bottom на GitHub

Итог: Правильный выбор, когда один бинарник должен дать вам обзор системы на трёх операционных системах.


Как выбрать правильный

Вы не выбираете один. Вы выбираете порядок установки:

  1. Starship в первую очередь. Изменение промпта — самый явный признак того, что оболочка была обновлена.
  2. ripgrep, fd, bat, eza далее. Четыре ежедневных замены, которые трогают каждый сеанс оболочки.
  3. zoxide через несколько недель. Индексу нужны посещения для заполнения.
  4. fzf в любое время. Сочетается со всем вышеперечисленным.
  5. bottom когда в следующий раз вам понадобится htop. Заменяет отдельно установленный монитор системы портативным бинарником.

Весь стек устанавливается за пять минут через Homebrew, winget, apt или официальные скрипты установщика. Большинство разработчиков запускают все восемь к концу первой недели.

FAQ

Эти утилиты CLI быстрее, чем GNU coreutils?

Для операций, на которые они нацелены, обычно да. ripgrep, fd и eza значительно лучше масштабируются на больших репозиториях. Разница проявляется на многогигабайтных кодовых базах больше, чем на небольших проектах.

Эти инструменты работают на Windows?

Да. Каждый инструмент в этом списке поставляется с предсобранными бинарниками Windows, работает в PowerShell и дружелюбнее оригинальных GNU эквивалентов на Windows. Scoop, winget и Chocolatey упаковывают все восемь.

В чём разница между Rust coreutils Ubuntu и этими инструментами?

Ubuntu 26.04 постепенно заменяет реализацию существующих команд GNU (ls, cp, mv, rm, cat) проектом Rust uutils, который отражает исходные имена команд и флаги. Восемь инструментов в этом списке — это различные команды (eza, bat, rg, fd), которые выходят за рамки простой замены для добавления функций.

Нужно ли мне изучать новые флаги?

В основном нет. ripgrep, fd, bat и eza принимают большинство флагов из оригинальных GNU инструментов плюс несколько новых. Starship и zoxide конфигурируются в одном файле каждый. fzf — это новый инструмент для изучения, но его привязки интуитивны один раз введены.

Эти инструменты безопасны?

Безопасность памяти Rust устраняет целые классы ошибок, которые беспокоили инструменты CLI эпохи C. Ни один проект в этом списке не имел крупного уведомления о безопасности в последние годы. Сторона упаковки (cargo install, экосистемы в стиле npm) вводит свою поверхность риска; устанавливайте из менеджера пакетов вашей системы когда возможно.

Почему fzf написан на Go, а не на Rust?

Потому что Junegunn Choi выпустил fzf в 2013 году, когда экосистема Rust ещё не могла поддерживать проект такой формы. Оно осталось на Go, потому что нет причины переписывать инструмент, который уже делает свою работу лучше, чем всё остальное.