Современная замена ls.
eza — это современная, поддерживаемая замена почтенной программы командной строки для просмотра списков файлов ls
, которая поставляется с операционными системами Unix и Linux, предоставляя ей больше возможностей и лучшие настройки по умолчанию. Он использует цвета для различения типов файлов и метаданных. Он знает о символических ссылках, расширенных атрибутах и Git. И он маленький , быстрый и состоит всего из одного двоичного файла .
Сознательно принимая некоторые решения по-другому, eza пытается стать более функциональной и удобной для пользователя версией ls
.
Возможности eza, отсутствующие в exa (неполный список):
Исправляет «Ошибку сетки», появившуюся примерно в 2021 году.
Поддержка гиперссылок.
Детали точки монтирования.
Вывод контекста Selinux.
Вывод статуса репозитория Git.
Человекочитаемые относительные даты.
Несколько исправлений безопасности.
Поддержка bright
цветов терминала.
Множество мелких исправлений/изменений ошибок!
Конфигурационный файл theme.yml
для настройки цветов и значков.
...и многое другое, что постоянно обновлять это стало утомительно. А если серьезно, у нас есть много хороших вещей.
Если у вас уже есть установка Nix с поддержкой Flake, вы можете попробовать eza с помощью команды nix run
:
nix run github:eza-community/eza
Никс соберет eza и запустит его.
Если вы хотите передать аргументы таким способом, используйте, например, nix run github:eza-community/eza -- -ol
.
eza доступен для Windows, macOS и Linux. Инструкции по установке для конкретной платформы и дистрибутива можно найти в INSTALL.md.
Опции eza почти, но не совсем, полностью отличаются от опций ls
. Краткий обзор:
-1 , --oneline : отображать одну запись в строке
-G , --grid : отображать записи в виде сетки (по умолчанию)
-l , --long : отображать расширенные сведения и атрибуты
-R , --recurse : рекурсия по каталогам
-T , --tree : рекурсия по каталогам в виде дерева
-x , --across : сортировать сетку поперек, а не вниз
-F , --classify=(when) : индикатор типа отображения по именам файлов (всегда, автоматически, никогда)
--colo[u]r=(when) : когда использовать цвета терминала (всегда, автоматически, никогда)
--colo[u]r-scale=(field) : четко выделять уровни field
(все, возраст, размер)
--color-scale-mode=(режим) : использовать градиент или фиксированные цвета в --color-scale. допустимые варианты: fixed
или gradient
--icons=(when) : когда отображать значки (всегда, автоматически, никогда)
--hyperlink : отображать записи в виде гиперссылок.
--absolute=(режим) : отображать записи с их абсолютным путем (вкл., следование, выкл.)
-w , --width=(columns) : установить ширину экрана в столбцах
-a , --all : показать скрытые файлы и файлы с точками
-d , --list-dirs : вывести список каталогов, таких как обычные файлы
-L , --level=(глубина) : ограничить глубину рекурсии
-r , --reverse : изменить порядок сортировки
-s , --sort=(field) : по какому полю сортировать
--group-directories-first : перечислять каталоги перед другими файлами
--group-directories-last : вывести список каталогов после других файлов
-D , --only-dirs : вывести список только каталогов
-f , --only-files : вывести список только файлов
--no-symlinks : не показывать символические ссылки
--show-symlinks : явно показывать ссылки (с --only-dirs
, --only-files
, чтобы показывать символические ссылки, соответствующие фильтру)
--git-ignore : игнорировать файлы, упомянутые в .gitignore
-I , --ignore-glob=(globs) : шаблоны файлов (разделенные вертикальной чертой), которые нужно игнорировать.
Передайте параметр --all
дважды, чтобы также отобразить файл .
и ..
каталоги.
Эти параметры доступны при работе с --long
( -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 : использовать поле метки времени доступа.
-U , --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
» или собственный стиль « +<FORMAT>
» (например, « +%Y-%m-%d %H:%M
' => ' 2023-09-30 13:00
' Дополнительные сведения о строке формата см. на странице руководства eza(1)
и в документации хроно.).
--total-size : показать размер рекурсивного каталога
--no-permissions : отключить поле разрешений
-o , --octal-permissions : перечислить разрешения каждого файла в восьмеричном формате.
--no-filesize : подавить поле размера файла
--no-user : подавить поле пользователя
--no-time : подавить поле времени
--stdin : прочитать имена файлов из стандартного ввода
Некоторые опции принимают параметры:
Допустимые параметры --colo[u]r : всегда , автоматически (или для краткости auto ) и никогда .
Допустимые поля сортировки: доступ , изменение , создание , расширение , расширение , индексный дескриптор , изменение , имя , имя , размер , тип и отсутствие . Поля, начинающиеся с заглавной буквы, сортируются по верхнему регистру, а затем по нижнему. Измененное поле содержит псевдонимы «дата» , «время » и «самый новый» , а его обратная сторона содержит псевдонимы «возраст» и «самый старый» .
Действительные поля времени модифицируются , изменяются , доступны и создаются .
Допустимые стили времени: default , iso , long-iso , Full-iso и относительный .
Дополнительную документацию по использованию смотрите на страницах man
. Они доступны
онлайн в репозитории
в вашем терминале через man eza
, начиная с версии [0.18.13] - 2024-04-25
Eza недавно добавила поддержку файла theme.yml
, в котором вы можете указать все существующие параметры тем, доступные для переменных среды LS_COLORS
и EXA_COLORS
, а также возможность указать разные значки для разных типов файлов и расширений. Любой существующий набор переменных среды продолжит работать и будет иметь приоритет для обратной совместимости.
Ознакомьтесь с темами, доступными в официальном репозитории eza-themes, или предложите свои собственные.
Пример файла темы доступен в docs/theme.yml
, и его необходимо либо поместить в каталог, указанный переменной среды EZA_CONFIG_DIR
, либо он будет искаться по умолчанию в $XDG_CONFIG_HOME/eza
.
Полная информация доступна на странице руководства, а пример файла темы включен здесь.
Если вы хотите внести свой вклад в Eza, во-первых, вы должны следовать нашему кодексу поведения. Поняв кодекс поведения, вы можете заглянуть на наш CONTRIBUTING.md, чтобы получить дополнительную информацию о фактическом взломе.