mcpField
E
eza

eza

官方
github.com开发者工具23.7keza16 周前更新
代码仓库访问官网

关于 eza

eza 是 ls 的现代替代品,以彩色输出展示文件列表,并可显示 Git 状态与图标。支持树状视图,可与其他 shell 工具配合使用。

主要功能

  1. 01用 eza -la 查看含隐藏文件的详细列表
  2. 02用 eza --tree --level=2 以两层深度显示目录树
  3. 03列表带有颜色、图标与 Git 状态
  4. 04可与其他 shell 工具组合使用

适用场景

  1. 01快速了解项目的目录结构
  2. 02在详细列表中查看文件的权限与大小
  3. 03为仓库生成简洁的目录概览

安装

选择你的系统或包管理器,复制命令到终端运行。

$
brew install eza

安装完成后运行eza --version确认安装成功。

命令示例

常用命令按使用顺序排列。

01
eza -la
02
eza --tree --level=2

详细介绍

eza

ls 的现代化替代品。

Gitter

使用 Nix 构建 贡献者公约

单元测试 Crates.io Crates.io

eza 演示动图


eza 是历史悠久的文件列表命令行程序 ls 的现代替代品,该程序随 Unix 和 Linux 操作系统提供,并为其带来了更多功能和更好的默认设置。 它使用颜色区分文件类型和元数据。 它了解符号链接、扩展属性和 Git。 而且它体积小、速度快,并且只有一个二进制文件。

通过有意采用一些不同的设计决策,eza 试图成为一个功能更丰富、对用户更友好的 ls 版本。


eza 相较于 exa 新增的功能(不完全列表):

  • 修复了 exa 于 2021 年引入的“网格错误”。
  • 支持超链接。
  • 显示挂载点详情。
  • 输出 SELinux 上下文。
  • 输出 Git 仓库状态。
  • 以易读格式显示相对日期。
  • 多项安全修复。
  • 支持 bright 终端颜色。
  • 许多较小的错误修复和改进!
  • 用于自定义颜色和图标的配置文件 theme.yml。

……还有很多很多,以至于一直更新这份列表都让人精疲力尽。 说真的,我们有很多很棒的功能。


试试看!

Nix ❄️

如果你已经配置好支持 flake 的 Nix,可以使用 nix run 命令试用 eza:

nix run github:eza-community/eza

Nix 将构建并运行 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):在文件名旁显示类型指示符(always、auto、never)
  • --colo[u]r=(when):设置何时使用终端颜色(always、auto、never)
  • --colo[u]r-scale=(field):以不同方式突出显示 field 的级别(all、age、size)
  • --color-scale-mode=(mode):在 --color-scale 中使用渐变色或固定颜色。有效选项为 fixed 或 gradient
  • --icons=(when):设置何时显示图标(always、auto、never)
  • --hyperlink=(when):设置何时将条目显示为超链接(always、auto、never)
  • --absolute=(mode):使用绝对路径显示条目(on、follow、off)
  • -w、--width=(columns):设置屏幕宽度(以列为单位)

筛选选项

点击展开
  • -a、--all:显示隐藏文件和以点开头的文件
  • -d、--treat-dirs-as-files:将目录视为普通文件列出
  • -L、--level=(depth):限制递归深度
  • -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):要忽略的文件的 glob 模式(以竖线分隔)

将 --all 选项传入两次,还会显示 . 和 .. 目录。

## 长格式视图选项
点击展开

使用 --long(-l)运行时,可使用以下选项:

  • -b、--binary:使用二进制前缀列出文件大小
  • -B、--bytes:以字节为单位列出文件大小,不使用任何前缀
  • -g、--group:列出每个文件所属的组
  • --smart-group:仅当组名与所有者名称不同时才显示组名
  • -h、--header:为每列添加标题行
  • -H、--links:列出每个文件的硬链接数
  • -i、--inode:列出每个文件的 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) 手册页_和 chrono 文档。)。
  • --total-size:显示目录的递归大小
  • --no-permissions:不显示权限字段
  • -o、--octal-permissions:以八进制格式列出每个文件的权限
  • --no-filesize:不显示文件大小字段
  • --no-user:不显示用户字段
  • --no-time:不显示时间字段
  • --stdin:从标准输入读取文件名

部分选项接受参数:

  • 有效的 --colo[u]r 选项为 always、automatic(或简写 auto)和 never。
  • 有效的排序字段为 accessed、changed、created、extension、Extension、inode、modified、name、Name、size、type 和 none。以大写字母开头的字段会将大写字母排在小写字母之前。modified 字段的别名为 date、time 和 newest,其反向排序的别名为 age 和 oldest。
  • 有效的时间字段为 modified、changed、accessed 和 created。
  • 有效的时间样式为 default、iso、long-iso、full-iso 和 relative。

有关用法的更多说明,请参阅 man 手册页。可通过以下方式查看:

自定义主题

点击展开

Eza 最近新增了对 theme.yml 文件的支持,你可以在其中指定 LS_COLORS 和 EXA_COLORS 环境变量可用的所有主题选项,也可以为不同的文件类型和扩展名指定不同的图标。任何已设置的环境变量仍会继续生效,并且为保持向后兼容性,其优先级更高。

New 预制主题

查看官方 eza-themes 仓库中提供的主题,或贡献你自己的主题。

示例主题文件位于 docs/theme.yml,需要将其放在环境变量 EZA_CONFIG_DIR 指定的目录中,否则程序会默认在 $XDG_CONFIG_HOME/eza 中查找。

详情请参阅 man 手册页,此处提供了示例主题文件。

参与 eza 开发

如果你想为 eza 做出贡献,首先需要遵守我们的行为准则。 了解行为准则后,可以查看我们的 CONTRIBUTING.md, 了解更多关于实际开发的信息。

Star History Chart

评论

支持 Markdown