Цель автора статьи — показать, что exa может легко заменить стандартную утилиту ls. И более того, в сравнении с ls, exa — более гибкий и мощный инструмент.
Стараясь сэкономить время и силы, мы автоматизируем часто повторяющиеся и сложные операции. Например, для отслеживания изменений содержимого каталогов и информации о файлах в Linux-системах многие по-прежнему используют команду ls. Но вывод ls по умолчанию [по мнению автора] не совсем приятен для глаз, поэтому приходится выкручиваться. При работе с ls возникает ещё ряд неудобств, но в этой статье мы не будем про них говорить. И вообще, зачем тратить на это время, если есть exa?
Exa — современная и более достойная альтернатива утилите ls. Exa написана на языке Rust, который хорошо зарекомендовал себя из-за высокой скорости работы, повышенной безопасности и качественной реализации параллелизма.
Всё предельно просто:
$ dnf install exa
По сравнению с ls, exa обладает более широкими возможностями. Благодаря продуманным настройкам по умолчанию она уже на старте выигрывает по функционалу и визуалу. В выводе exa используется своя подсветка для разных типов файлов и метаданных. Она способна распознавать симлинки, расширенные атрибуты и Git-файлы. При этом утилита быстрая, компактная и поставляется с одним единственным бинарником.
Пример: вы можете использовать exa, чтобы узнать информацию о новом файле, добавленном в некий репозиторий Git.
$ exa --long --header --git
Изображение: Sudeshna Sur, CC BY-SA 4.0
$ exa --tree --level=2
Параметр level определяет способ отображения листинга с заданным уровнем вложенности каталогов. Если нужно просмотреть больше подкаталогов, то level нужно увеличить.
Изображение: Sudeshna Sur, CC BY-SA 4.0
А на примере этого дерева видно, насколько детально можно отображать метаданные о каждом файле.
Изображение: Sudeshna Sur, CC BY-SA 4.0
По умолчанию exa раскрашивает файлы разных типов в соответствии со встроенной цветовой схемой. Схема не только различает файлы и директории в целом, но и присваивает свой цвет каждому из таких файлов, как Cargo.toml, CMakeLists.txt, Gruntfile.coffee, Gruntfile.js, Makefile. Этим список не ограничивается. Полную цветовую схему можно посмотреть на сайте утилиты.
Для просмотра расширенных атрибутов нужно добавить в команду ключ --extended:
$ exa --long --extended ‘GettingStartedWithOpencV’
Exa не просто знает, что такое симлинк, она может по симлинку найти и отобразить фактическое местоположение файла.
Изображение: Sudeshna Sur, CC BY-SA 4.0
Если вы хотите получить листинг для всех подкаталогов текущего каталога, перейдите в нужный вам каталог и выполните следующую команду:
$ exa --recurse
Exa — один из наиболее простых и гибких инструментов. Она позволяет легко работать с большим количеством Git- и Maven-файлов. Подсветка помогает ориентироваться во множестве каталогов и их подкаталогов, а также следить за расширенными атрибутами.
Источник статьи: https://habr.com/ru/company/macloud/blog/549988/
Стараясь сэкономить время и силы, мы автоматизируем часто повторяющиеся и сложные операции. Например, для отслеживания изменений содержимого каталогов и информации о файлах в Linux-системах многие по-прежнему используют команду ls. Но вывод ls по умолчанию [по мнению автора] не совсем приятен для глаз, поэтому приходится выкручиваться. При работе с ls возникает ещё ряд неудобств, но в этой статье мы не будем про них говорить. И вообще, зачем тратить на это время, если есть exa?
Exa — современная и более достойная альтернатива утилите ls. Exa написана на языке Rust, который хорошо зарекомендовал себя из-за высокой скорости работы, повышенной безопасности и качественной реализации параллелизма.
Установка exa
Всё предельно просто:
$ dnf install exa
Возможности exa
По сравнению с ls, exa обладает более широкими возможностями. Благодаря продуманным настройкам по умолчанию она уже на старте выигрывает по функционалу и визуалу. В выводе exa используется своя подсветка для разных типов файлов и метаданных. Она способна распознавать симлинки, расширенные атрибуты и Git-файлы. При этом утилита быстрая, компактная и поставляется с одним единственным бинарником.
Отслеживание изменений содержимого каталогов
Пример: вы можете использовать exa, чтобы узнать информацию о новом файле, добавленном в некий репозиторий Git.
$ exa --long --header --git
Изображение: Sudeshna Sur, CC BY-SA 4.0
Отображение дерева
$ exa --tree --level=2
Параметр level определяет способ отображения листинга с заданным уровнем вложенности каталогов. Если нужно просмотреть больше подкаталогов, то level нужно увеличить.
Изображение: Sudeshna Sur, CC BY-SA 4.0
А на примере этого дерева видно, насколько детально можно отображать метаданные о каждом файле.
Изображение: Sudeshna Sur, CC BY-SA 4.0
Цветовые схемы
По умолчанию exa раскрашивает файлы разных типов в соответствии со встроенной цветовой схемой. Схема не только различает файлы и директории в целом, но и присваивает свой цвет каждому из таких файлов, как Cargo.toml, CMakeLists.txt, Gruntfile.coffee, Gruntfile.js, Makefile. Этим список не ограничивается. Полную цветовую схему можно посмотреть на сайте утилиты.
Расширенные атрибуты
Для просмотра расширенных атрибутов нужно добавить в команду ключ --extended:
$ exa --long --extended ‘GettingStartedWithOpencV’
Симлинки
Exa не просто знает, что такое симлинк, она может по симлинку найти и отобразить фактическое местоположение файла.
Изображение: Sudeshna Sur, CC BY-SA 4.0
Рекурсивный обход подкаталогов
Если вы хотите получить листинг для всех подкаталогов текущего каталога, перейдите в нужный вам каталог и выполните следующую команду:
$ exa --recurse
Что и требовалось доказать
Exa — один из наиболее простых и гибких инструментов. Она позволяет легко работать с большим количеством Git- и Maven-файлов. Подсветка помогает ориентироваться во множестве каталогов и их подкаталогов, а также следить за расширенными атрибутами.
Источник статьи: https://habr.com/ru/company/macloud/blog/549988/