
Ubuntu тихо переходит на Rust для своего пользовательского пространства. Проект uutils готов заменить GNU coreutils в Ubuntu 25.10 и позже, сохраняя безопасность памяти без нарушения существующих скриптов. Этот переход на уровне системы займет годы, но отдельные переписанные инструменты уже доступны сегодня. Эти лучшие утилиты CLI на Rust для Linux работают на macOS и Windows, встраиваются рядом с grep, cat, ls, du, top и diff, оставаясь совместимыми с флагами, которые используют большинство скриптов.
На что обратить внимание в утилите CLI на Rust
- Совместимый интерфейс. Поддержка флагов GNU-инструмента, который заменяется, означает, что ваши скрипты не требуют переписывания.
- Разумные значения по умолчанию. Переписывания на Rust обычно добавляют цветной вывод, осведомленность о git и обработку Unicode без дополнительных флагов.
- Кросс-платформенные сборки. Если инструмент работает только на Linux, его развитие останавливается, когда ваши dotfiles попадают на Mac.
- Активное обслуживание. Утилиты CLI на Rust распространились в 2019-2021; те, которые все еще выпускают релизы в 2026 году, — это надежный выбор.
- Каналы распространения. Cargo install всегда работает; пакет Debian или Homebrew tap сэкономит время всем остальным.
Быстрое сравнение
| Инструмент | Заменяет | Бесплатный план | Выделяющееся | Кросс-платформа |
|---|---|---|---|---|
ripgrep (rg) |
grep / ack | Бесплатно | Поиск с учетом gitignore | Windows, macOS, Linux |
| bat | cat | Бесплатно | Подсветка синтаксиса, маркеры git diff | Windows, macOS, Linux |
| eza | ls | Бесплатно | Иконки, статус git, режим tree | macOS, Linux, Windows (WSL) |
| fd | find | Бесплатно | Эргономичный синтаксис, учитывает gitignore | Windows, macOS, Linux |
| dust | du | Бесплатно | Визуальное дерево использования диска | Windows, macOS, Linux |
bottom (btm) |
top / htop | Бесплатно | GPU и сеть по процессам | Windows, macOS, Linux |
| zoxide | cd | Бесплатно | Запоминает ваши папки | Windows, macOS, Linux |
| delta | diff / git diff | Бесплатно | Параллельные git diff | Windows, macOS, Linux |
Утилиты
1. ripgrep — лучшая замена grep
ripgrep (rg) — это инструмент, который уже используют в своих dotfiles почти все разработчики. Он обходит директорию параллельно, пропускает файлы, указанные в .gitignore, и заметно быстрее GNU grep на любой кодовой базе размером более нескольких мегабайт.
Где он не справляется: по умолчанию он учитывает .gitignore, что удивляет тех, кто ожидает полного охвата в стиле grep. Используйте -uu для отключения.
Лицензирование:
- Бесплатно: MIT лицензия.
- Платно: отсутствует.
Платформы: Windows, macOS, Linux. Загрузка: BurntSushi/ripgrep Итог: устанавливайте в первую очередь. Каждый другой инструмент в этом списке имеет пользователей ripgrep, пишущих для него плагины.
2. bat — лучшая замена cat
bat раскрашивает вывод файлов подсветкой синтаксиса для 150+ языков, показывает номера строк по умолчанию и чисто передается в less. Также отображает маркеры diff при чтении файла в репозитории git.
Где он не справляется: он работает в меньшем количестве контекстов, чем обычный cat, поэтому bat file.txt | grep требует --paging=never.
Лицензирование:
- Бесплатно: MIT / Apache 2.0.
- Платно: отсутствует.
Платформы: Windows, macOS, Linux. Загрузка: sharkdp/bat Итог: небольшой выигрыш в качестве жизни, который останется с вами во всех сеансах оболочки.
3. eza — лучшая замена ls
eza — это поддерживаемый форк заброшенного exa. Он отображает списки директорий с цветом, иконками (с Nerd Font), статусом git для каждого файла и встроенным режимом дерева, заменяющим tree.
Где он не справляется: поддержка Windows только через WSL. Поддержка иконок требует установленного Nerd Font.
Лицензирование:
- Бесплатно: MIT.
- Платно: отсутствует.
Платформы: Linux, macOS, Windows через WSL.
Загрузка: eza-community/eza
Итог: сделайте ls псевдонимом eza -l --git --icons и больше не смотрите назад.
4. fd — лучшая замена find
fd — это find с англоязычным набором флагов. fd pattern обходит дерево и выводит каждое совпадение; добавьте -e md для фильтрации по расширению, -x cmd для запуска по результату. По умолчанию учитывает .gitignore.
Где он не справляется: набор флагов несовместим со скриптами find, поэтому псевдонимы оболочки и конвейеры CI, использующие find -exec, требуют переписывания.
Лицензирование:
- Бесплатно: MIT / Apache 2.0.
- Платно: отсутствует.
Платформы: Windows, macOS, Linux.
Загрузка: sharkdp/fd
Итог: стоит переключиться только, чтобы прекратить вспоминать синтаксис -exec в find.
5. dust — лучшая замена du
dust показывает использование диска как встроенную столбчатую диаграмму, отсортированную по размеру с цветной кодировкой процентов. dust в папке проекта делает очевидным, какая подпапка поедает ваш SSD.
Где он не справляется: по умолчанию не следует символическим ссылкам; добавьте -s. Очень глубокие деревья могут замедлить итоговый результат.
Лицензирование:
- Бесплатно: Apache 2.0.
- Платно: отсутствует.
Платформы: Windows, macOS, Linux. Загрузка: bootandy/dust Итог: самый быстрый способ ответить на вопрос “что заполнило мой диск” без открытия GUI.
6. bottom — лучшая замена top
bottom (btm) — это монитор системы терминала с панелями для CPU, памяти, GPU (Nvidia), сети, диска, температур и разбивки по процессам. Каждая панель расширяемая, каждая метрика графируется.
Где он не справляется: панель GPU первична для Nvidia; поддержка AMD зависит от установленного radeontop. Датчики температуры macOS требуют дополнительных разрешений.
Лицензирование:
- Бесплатно: MIT.
- Платно: отсутствует.
Платформы: Windows, macOS, Linux. Загрузка: ClementTsang/bottom Итог: htop с графиками и современной атрибуцией сети.
7. zoxide — лучшая замена cd
zoxide отслеживает ваши привычки cd и позволяет переходить в любую недавно посещаемую папку по ключевому слову. z proj лучше, чем cd ~/code/company/project/frontend каждый раз.
Где он не справляется: требуется неделя использования, чтобы его рейтинг казался естественным.
Лицензирование:
- Бесплатно: MIT.
- Платно: отсутствует.
Платформы: Windows (PowerShell, cmd), macOS, Linux. Загрузка: ajeetdsouza/zoxide Итог: выигрыш в производительности, который все недооценивают, пока не попробуют в течение недели.
8. delta — лучшая замена diff и git-diff
delta пропускает git diff, git show и git log -p через параллельную подсветку синтаксиса с осведомленностью о git для каждой строки. Настройте один раз в ~/.gitconfig и каждый вывод git будет выглядеть как GitHub.
Где он не справляется: требуются широкие терминалы. При ширине менее 100 столбцов параллельный вид схлопывается.
Лицензирование:
- Бесплатно: MIT.
- Платно: отсутствует.
Платформы: Windows, macOS, Linux. Загрузка: dandavison/delta Итог: обновление вывода git, о котором вы не знали, что вам нужно.
Как выбрать правильный инструмент
Если вы устанавливаете один инструмент из этого списка: ripgrep. Если вы проводите день в git: delta. Если ваш диск заполняется быстрее, чем вы его чистите: dust. Если ваша привычка к top устаревает: bottom. Если ваш ls без стиля: eza. Если ваша привычка cd включает ввод семи директорий: zoxide. Если вы хотите полное переписывание coreutils: uutils, которое теперь охватывает большую часть набора GNU и является основой работы Ubuntu. Оставайтесь с GNU-инструментами там, где скрипты, которые вы не писали, зависят от их точного поведения флагов; переписывания на Rust для вас, а не для конвейера CI, который вы унаследовали.
FAQ
Безопасно ли заменять coreutils версиями на Rust?
Для вашей собственной оболочки и скриптов, да; каждый инструмент в этом списке стабилен и широко используется. Не заменяйте системные coreutils на сервере без предварительного тестирования каждого зависящего от них скрипта. Ubuntu переходит на уровне системы по одной утилите за раз по этой причине.
Почему Ubuntu переписывает coreutils на Rust?
Безопасность памяти. Rust исключает целые классы ошибок безопасности на этапе компиляции, а переписывания uutils сохраняют поверхность флагов GNU, чтобы существующие скрипты не нарушались.
Работают ли эти утилиты CLI на Rust на macOS?
Все они. Homebrew имеет текущие формулы для каждого инструмента в списке.
Какие инструменты CLI на Rust работают на Windows без WSL?
ripgrep, bat, fd, dust, bottom, zoxide и delta поставляются с нативными двоичными файлами Windows. eza сейчас только для WSL.
Какой самый простой способ установить все это?
brew install ripgrep bat eza fd dust bottom zoxide git-delta на macOS и Linux. cargo install ripgrep bat eza fd-find du-dust bottom zoxide git-delta если вы предпочитаете Cargo. Пользователи Windows могут winget install BurntSushi.ripgrep.MSVC sharkdp.bat sharkdp.fd Dandavison.delta ClementTsang.bottom ajeetdsouza.zoxide.