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
.
Комментарии (0)