eza - это упрощение листинга файлов с помощью улучшенной функциональности ls

eza – это современная замена Linux-команды ls, написанная на языке Rust, с цветным выводом и лучшими настройками по умолчанию. Вот как ее установить и использовать.

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

Но, как и в случае с любыми другими инструментами, пользователи постоянно ищут лучшие решения. eza – современная альтернатива команде ls. В этой статье мы рассмотрим, как установить и начать работу с ней. Но сначала позвольте мне объяснить, что это такое.

Что такое команда eza в Linux?

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

Ее основная функция – перечисление содержимого каталога. Однако, в отличие от команды ls, в eza он более привлекателен и прост для восприятия, опираясь на цветовую дифференциацию типов файлов. Кроме того, сопроводительная информация представлена в более удобном для чтения формате.

Ключевые особенности

Будучи новой альтернативой классической команде ls, eza не просто выводит содержимое каталогов, а делает это эффективно и с расширенными настройками по умолчанию. Вот ее основные преимущества.

Написан на языке Rust

Rust известен своей безопасностью, скоростью и параллелизмом. Используя Rust, eza обеспечивает эффективную работу, уменьшая при этом потенциальные ошибки и уязвимости.

Цветной вывод

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

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

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

Лучшие настройки по умолчанию

eza поставляется с настройками, которые многие считают более предпочтительными по сравнению с ls. Например, при выводе списка каталогов размер каждого файла отображается в удобном для восприятия формате: «23k», «2.1M», «4G», а не в байтах, как в ls по умолчанию.

Дополнительные возможности

Окраска – далеко не единственная отличительная особенность eza. Вовсе нет! Команда имеет множество дополнительных мощных возможностей. Например, разработчики будут в восторге от возможности вывести список Git-статусов каждого каталога и файла.

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

Опции командной строки

Ниже приведен полный список опций, предлагаемых командой eza.

Параметры отображения

  • -1, -oneline: отображение одной записи в строке
  • -G, -grid: отображение записей в виде сетки (по умолчанию)
  • -l, -long: отображение расширенных сведений и атрибутов
  • -R, -recurse: повторный поиск в каталогах
  • -T, -tree: перебор каталогов в виде дерева
  • -x, -across: сортировка сетки по горизонтали, а не по убыванию
  • -F, -classify: отображение индикатора типа по именам файлов
  • -colo[u]r=(when): когда использовать цвета терминала (всегда, автоматически, никогда)
  • -colo[u]r-scale: отчетливо выделять уровни размеров файлов
  • -icons=(when): когда отображать значки (всегда, автоматически, никогда)
  • -hyperlink: отображать записи в виде гиперссылок
  • -w, -width=(columns): установить ширину экрана в колонках

Параметры фильтрации

  • -a, -all: показывать скрытые и «точечные» файлы
  • -d, -list-dirs: перечислять каталоги как обычные файлы
  • -L, -level=(depth): ограничить глубину рекурсии
  • -r, -reverse: изменить порядок сортировки
  • -s, -sort=(field): по какому полю сортировать
  • -group-directories-first: перечислять каталоги перед другими файлами
  • -D, -only-dirs: перечислять только каталоги
  • -f, -only-files: перечислять только файлы
  • -git-ignore: игнорировать файлы, упомянутые в .gitignore
  • -I, -ignore-glob=(globs): глобальные шаблоны (разделенные трубкой) файлов для игнорирования

Опции длинного просмотра (доступны при запуске с „-l“)

  • -b, -binary: список размеров файлов с двоичными префиксами
  • -B, -bytes: список размеров файлов в байтах, без префиксов
  • -g, -group: список групп каждого файла
  • -h, -header: добавить строку заголовка к каждому столбцу
  • -H, -links: вывести количество жестких ссылок
  • -i, -inode: вывести номер инода каждого файла
  • -m, -modified: использовать поле измененной метки времени
  • -M, -mounts: Показать подробности монтирования (только для Linux и MacOS).
  • -S, -blocksize: показать размер выделенных блоков файловой системы
  • -t, -time=(field): какое поле временной метки использовать
  • -u, -accessed: использовать поле временной метки accessed
  • -U, -created: использовать поле временной метки created
  • -X, -dereference: разыменовывать симлинки для получения информации о файле
  • -Z, -context: перечислить контекст безопасности каждого файла
  • -@, -extended: список расширенных атрибутов и размеров каждого файла
  • -changed: использование поля метки времени изменения
  • -git: список Git-статуса каждого файла, если отслеживается или игнорируется
  • -git-repos: список Git-статуса каждого каталога, если отслеживается
  • -git-repos-no-status: список является ли каталог Git-репозиторием, но не его статус (быстрее)
  • -no-git: подавление статуса Git (всегда переопределяет --git, --git-repos, --git-repos-no-status)
  • -time-style: способ форматирования временных меток. Допустимые стили временных меток: „default, „iso, „long-iso, „full-iso, „relative, или можно использовать стиль custom с префиксом „+.
  • -total-size: показать размер рекурсивного каталога
  • -no-permissions: подавить поле permissions
  • -o, -octal-permissions: перечислить разрешения каждого файла в восьмеричном формате
  • -no-filesize: подавить поле filesize
  • -no-user: подавить поле user
  • -no-time: подавить поле time

Как использовать команду eza

Использование команды eza ничем не отличается от того, как Вы уже привыкли использовать ls или любую другую команду Linux. Другими словами, вы можете выполнить команду без параметров, а можете настроить вывод под свои нужды, добавив к нему опции.

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

eza

Далее вы можете использовать перечисленные выше опции для настройки вывода команды или комбинировать их.

Кроме того, вы можете изменить стандартное поведение команды eza и сэкономить ввод текста, добавив в файл _
/.bashrc_ удобный псевдоним. Это сделает использование команды еще более простым.

Например, если добавить alias e=„eza -l“ в упомянутый выше файл, то выполнение команды e приведет к отображению содержимого текущего каталога в удобном для просмотра формате, аналогичном поведению команды ls -l.

Подробнее о создании и использовании псевдонимов в Linux вы можете узнать из нашего специального руководства по этому вопросу.

Как установить команду eza в Linux

Мы уверены, что команда eza заинтересовала вас, и вы хотите попробовать ее. Вот как ее установить в зависимости от используемого вами дистрибутива Linux.

Debian / Ubuntu / Linux Mint

Установка пакета DEB, содержащего команду, требует добавления дополнительного репозитория, поскольку он не присутствует в репозиториях ПО по умолчанию этих дистрибутивов.

sudo mkdir -p /etc/apt/keyrings
wget -qO- https://raw.githubusercontent.com/eza-community/eza/main/deb.asc | sudo gpg --dearmor -o /etc/apt/keyrings/gierens.gpg
echo "deb [signed-by=/etc/apt/keyrings/gierens.gpg] http://deb.gierens.de stable main" | sudo tee /etc/apt/sources.list.d/gierens.list
sudo apt update
sudo apt install eza

Fedora

sudo dnf install eza

Arch Linux

sudo pacman -S eza

openSUSE

zypper ar https://download.opensuse.org/tumbleweed/repo/oss/ factory-oss
zypper in eza

Заключение

Команда ls на протяжении десятилетий была надежным союзником пользователей, помогая им эффективно перемещаться по каталогам. В то же время команда eza является ее продолжением, переосмысливая смысл работы с листингом файлов в Linux.

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

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

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

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

Вдохновлен linuxiac.com

Похожие статьи

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