14 альтернативных CLI-инструментов на основе Rust для классических команд Linux

Если вы похожи на меня, то, вероятно, выросли на классических инструментах командной строки Linux, таких как ls, cat, du. Эти команды помогли мне написать бесчисленное количество скриптов.

Дело вот в чем. Хотя эти инструменты выполняют свою работу, они могут быть простыми на вид и сложными в использовании для определенных задач.

Возьмем, к примеру, команду du. Она показывает использование диска в системе, но если использовать ее без каких-либо опций, то получится полная неразбериха.

Терминалы сегодня поддерживают цвет, значки Юникода, живые превью – все то, для чего наши старые любимцы не были предназначены. А революция Rust незаметно изменила ландшафт командной строки. Так появилась волна основанных на Rust инструментов CLI, которые не просто повторяют традиционные; они их модернизируют. Они быстрые, (как утверждается) безопасные для памяти, красивые и часто с продуманным UX, которые делают ежедневную работу в терминале заметно более плавной.

В последнее время я много работал с этими инструментами и решил, что будет интересно поделиться списком моих любимых.

eza: Альтернатива ls

Если какой-то инструмент и убедил меня в том, что приложения Rust CLI стоит изучить, то это eza, современная, поддерживаемая альтернатива ls, которая кажется знакомой, но добавляет то, чего оригиналу всегда не хватало: цвета, иконки и интеграцию с git.

eza – активно поддерживаемый преемник оригинального проекта exa, который больше не развивается. eza включает все возможности exa, а также множество улучшений и исправлений.

Основные моменты:

  • Красивые цветовые темы
  • Интеграция с Git
  • Дополнительный древовидный вид
  • Более четкое форматирование разрешений
  • Установка:*
cargo install eza

Использование:

eza -al --git

Вы можете мгновенно увидеть, какие файлы являются новыми, какие измененными, а какие – чистым хаосом. Проект активно поддерживается и продолжает добавлять функции, которые делают листинг файлов в терминале более приятным.

bat: Альтернатива cat

cat отлично подходит для быстрой проверки, но чтение конфигурационных файлов или кода в виде обычного текста становится утомительным. В bat это исправлено с помощью подсветки синтаксиса, интеграции с Git, нумерации строк, автоматического листания, без потери совместимости с cat.

Установка:

cargo install bat

Пример использования:

bat ~/.bashrc

По сути, это cat с подсветкой кода. Когда я впервые использовал его, я обнаружил, что открываю случайные файлы конфигурации только для того, чтобы полюбоваться цветами.

dust: Альтернатива du

du всегда вываливает на экран горы цифр. dust превращает их в компактное, наглядное представление использования диска, которое можно просмотреть с первого взгляда.

Это мгновенно более читабельно, чем старая команда. Вывод чистый, легко разбирается и наглядно показывает относительные размеры. Клянусь, мой Жесткий диск еще никогда не выглядел так дружелюбно.

Установите dust:

cargo install du-dust

Использование:

dust

fd: Альтернатива find

Помните, как потратили 10 минут на создание идеальной команды find? Да… я тоже. fd делает это проще. У нее простой синтаксис, она по умолчанию игнорирует скрытые файлы и работает очень быстро.

Установка fd:

cargo install fd-find

Пример:

fd main.rs
fd fossnews

Благодаря его скорости и простоте find кажется устаревшим. После перехода на него вы редко будете оглядываться назад.

ripgrep (rg): Альтернатива grep

Основанная на Rust ripgrep программа стала обязательной для разработчиков. Она значительно быстрее и дает четкие, выделенные результаты поиска.

Установите ripgrep:

cargo install ripgrep

Пример использования:

rg TODO src/

Он уважает ваше .gitignore и выводит результаты с цветовой подсветкой. Я использую его каждый день для поиска TODO, отчетов об ошибках.

procs: Альтернатива ps

Хотя ps aux работает, он может показаться визуально перегруженным. procs дает вам более структурированное, цветовое представление о процессах вашей системы, позволяя быстро увидеть, что запущено, без необходимости запускать полный TUI-инструмент, как htop.

Это как персональная приборная панель для ваших процессов. Я использую его каждый день, чтобы следить за тем, что выполняется, не чувствуя себя погребенным в стене текста.

Установка:

cargo install procs

Использование:

procs

tldr: Альтернатива man

tldr делает навигацию по страницам руководства безболезненной, предлагая наглядные примеры, выделяя важные флаги и сохраняя краткость (без бесконечной прокрутки).

Установка производится через crate и использует пакет tlrc, так как tldr был удален:

cargo install tlrc

Использование:

tldr tar

Честно говоря, я бы хотел, чтобы это существовало, когда я изучал Linux. Это спасение как для новичков, так и для ветеранов.

broot: Альтернатива tree

Если вы когда-нибудь пользовались tree, то знаете, что в больших каталогах он может быстро стать медленным. broot улучшает эту концепцию: он позволяет перемещаться по каталогам в интерактивном режиме, сворачивать или разворачивать папки на лету и искать по ходу работы.

Установка:

cargo install broot

Использование:

broot

Я полностью отказался от старой привычки ls -R. Broot позволяет исследовать каталоги интерактивно и с удовольствием, превращая беспорядочную файловую систему в нечто, навигация по чему может доставить вам удовольствие.

zoxide: Альтернатива cd

Сколько раз вы набирали cd ../../../../some/long/path? Слишком много, верно? z (или zoxide) решает эту проблему, отслеживая наиболее посещаемые вами каталоги и позволяя переходить к ним одной командой, экономя ваши пальцы и делая навигацию легкой.

Установка:

cargo install zoxide

Также необходимо инициализировать его в оболочке:

Bash
eval "$(zoxide init bash)"
Zsh
eval "$(zoxide init zsh)"
Fish
zoxide init fish | source

Использование:

z code

Позволяет отслеживать часто используемые каталоги и мгновенно переходить к ним.

lsd: Альтернатива ls

Если вы устали от монохромного вывода ls, то lsd сделает ваши списки каталогов не только читаемыми, но и приятными. Благодаря встроенным иконкам и ярким цветам он поможет вам с первого взгляда различать файлы, каталоги и исполняемые файлы.

Установка:

cargo install lsd

Вы можете запустить его как обычную команду ls:

lsd -la

lsd четко организует информацию и выделяет ключевые атрибуты файлов, делая навигацию более быстрой и интуитивно понятной.

bottom: Альтернатива top

Классическая команда top показывает использование системы, но, признаться, может показаться, что вы смотрите на снимок терминала 1995 года. bottom (или btm) обеспечивает современный, чистый и наглядный Мониторинг системы. Он обеспечивает:

  • Цветовую кодировку использования процессора, памяти и дисков
  • Графики в реальном времени прямо в терминале
  • Организованный макет, который легко читать и ориентироваться.

Установка:

cargo install bottom

Вы можете запустить его просто с помощью:

btm

Как только вы начнете использовать bottom, вам будет трудно вернуться назад. Наблюдение за скачками процессора, использованием памяти и дисковой активностью во время компиляции проектов на Rust доставляет странное удовольствие. Он одновременно функционален и увлекателен, давая вам необходимые сведения без лишнего беспорядка, свойственного старым инструментам.

hyperfine: Альтернатива time

Вы когда-нибудь задумывались, какая из ваших команд действительно самая быстрая? Перестаньте гадать и начните измерять с помощью hyperfine. Этот инструмент бенчмаркинга на основе Rust позволяет легко сравнивать команды друг с другом.

hyperfine запускает каждую команду несколько раз, вычисляет средние значения и предоставляет вам наглядное сравнение времени выполнения в цветовой кодировке. Помимо простых сравнений, он также поддерживает разминку, статистический анализ и пользовательские настройки команд, что делает его мощным дополнением к набору инструментов любого разработчика.

Установка:

cargo install hyperfine

Пример использования:

hyperfine "exa -al" "ls -al"

Наблюдать за тем, как exa уничтожает ls за считанные миллисекунды, странно приятно. Если вы любите оптимизацию, эффективность и немного ботаники, hyperfine – ваш новый лучший друг.

xplr: Альтернатива nnn

Не знаю, можно ли назвать nnn классическим инструментом Linux, но мне так понравился xplr, что я решил включить его сюда.

xplr поднимает идею терминального файлового проводника на новый уровень. Если вы любили broot, то xplr взорвет ваш мозг этими возможностями:

  • Навигация по каталогам с помощью клавиш со стрелками или биндингов в стиле vim.
  • Предварительный просмотр файлов прямо в терминале
  • Запускайте команды для файлов, не выходя из приложения.
  • Полностью настраиваемые макеты и привязки клавиш для опытных пользователей

Установка:

cargo install xplr

Использование:

xplr

Заключение

Поначалу переход на новые команды может показаться дополнительным усилием, но инструменты CLI на основе Rust – это не просто тренд, они быстрые, современные и созданы для того, чтобы сделать ваш рабочий процесс приятным.

  • Они работают с цветами, подсветкой синтаксиса и интеграцией с Git прямо из коробки.
  • Они экономят нажатия клавиш, уменьшают разочарование и упрощают сложные задачи.
  • Они делают ваш Терминал живым и интересным.

Начните с малого, может быть, сначала установите exa и bat, и постепенно расширяйте свой набор инструментов. Вскоре ваш терминал будет казаться футуристическим, рабочий процесс – более плавным, а проекты – более легкими в управлении.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Комментарии (0)