Почему стоит использовать exa вместо привычной консольной утилиты ls

Kate

Administrator
Команда форума
Цель автора статьи — показать, что exa может легко заменить стандартную утилиту ls. И более того, в сравнении с ls, exa — более гибкий и мощный инструмент.

Стараясь сэкономить время и силы, мы автоматизируем часто повторяющиеся и сложные операции. Например, для отслеживания изменений содержимого каталогов и информации о файлах в Linux-системах многие по-прежнему используют команду ls. Но вывод ls по умолчанию [по мнению автора] не совсем приятен для глаз, поэтому приходится выкручиваться. При работе с ls возникает ещё ряд неудобств, но в этой статье мы не будем про них говорить. И вообще, зачем тратить на это время, если есть exa?

Exa — современная и более достойная альтернатива утилите ls. Exa написана на языке Rust, который хорошо зарекомендовал себя из-за высокой скорости работы, повышенной безопасности и качественной реализации параллелизма.

Установка exa​


Всё предельно просто:

$ dnf install exa

Возможности exa​


По сравнению с ls, exa обладает более широкими возможностями. Благодаря продуманным настройкам по умолчанию она уже на старте выигрывает по функционалу и визуалу. В выводе exa используется своя подсветка для разных типов файлов и метаданных. Она способна распознавать симлинки, расширенные атрибуты и Git-файлы. При этом утилита быстрая, компактная и поставляется с одним единственным бинарником.

Отслеживание изменений содержимого каталогов​


Пример: вы можете использовать exa, чтобы узнать информацию о новом файле, добавленном в некий репозиторий Git.

$ exa --long --header --git

zmt-qhbibsioifybptvc2pjtcpg.png


Изображение: Sudeshna Sur, CC BY-SA 4.0

Отображение дерева​


$ exa --tree --level=2

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

hk7fne5zbwv5v58xoq1ro669zkc.png


Изображение: Sudeshna Sur, CC BY-SA 4.0

А на примере этого дерева видно, насколько детально можно отображать метаданные о каждом файле.

3uqjzbg1sltetrbgqwqaylls09y.png


Изображение: Sudeshna Sur, CC BY-SA 4.0

Цветовые схемы​


По умолчанию exa раскрашивает файлы разных типов в соответствии со встроенной цветовой схемой. Схема не только различает файлы и директории в целом, но и присваивает свой цвет каждому из таких файлов, как Cargo.toml, CMakeLists.txt, Gruntfile.coffee, Gruntfile.js, Makefile. Этим список не ограничивается. Полную цветовую схему можно посмотреть на сайте утилиты.

Расширенные атрибуты​


Для просмотра расширенных атрибутов нужно добавить в команду ключ --extended:

$ exa --long --extended ‘GettingStartedWithOpencV’

Симлинки​


Exa не просто знает, что такое симлинк, она может по симлинку найти и отобразить фактическое местоположение файла.

8aszfy9ozfzcnijqmjzaqta04wg.png


Изображение: Sudeshna Sur, CC BY-SA 4.0

Рекурсивный обход подкаталогов​


Если вы хотите получить листинг для всех подкаталогов текущего каталога, перейдите в нужный вам каталог и выполните следующую команду:

$ exa --recurse

Что и требовалось доказать​


Exa — один из наиболее простых и гибких инструментов. Она позволяет легко работать с большим количеством Git- и Maven-файлов. Подсветка помогает ориентироваться во множестве каталогов и их подкаталогов, а также следить за расширенными атрибутами.

Источник статьи: https://habr.com/ru/company/macloud/blog/549988/
 
Сверху