eza是什么
说起命令行下的文件列表,大家脑海里第一个蹦出来的多半是那员老将——ls命令。它很基础,也很稳定,但看久了,总觉得那朴素的灰色调少了点什么。尤其是在管理大型项目或复杂目录时,ls的“简约风”就显得有些信息不足了。
后来,在开源社区里发现了一个叫 eza 的工具,它给自己的定位很明确:要做 ls 的现代化替代品。用 Rust 语言重写,带来了更丰富的色彩、更聪明的默认设置,还原生整合了 Git 状态、文件属性这些开发者真正关心的信息。最关键的是,它就是一个轻巧的单一二进制文件,安装和运行都干净利落。

核心功能
那么,这个工具具体好在哪儿?它可不是简单的“换皮”,而是针对日常使用痛点,做了一系列实实在在的优化。
(1) 色彩与图标,一目了然
首先震撼你视觉的,是它的色彩。eza 用不同颜色清晰地标明了文件类型:可执行文件、目录、符号链接、压缩包……对比系统默认的 ls,那效果简直是黑白电视换成了彩电。更妙的是,如果你安装了 Nerd Fonts,还能在文件名旁看到对应的图标。文件夹、文本文件、代码文件都一目了然,扫一眼就能对目录内容有个快速判断,再也不用费力识别那排密密麻麻的灰色字符了。

(2) 集成 Git 状态,开发者友好
这也是它最受开发者欢迎的功能之一。当你身处一个 Git 仓库中运行 eza 时,它会直接在文件名后面用标记或颜色告诉你 Git 状态:新增的文件、修改过的文件、被忽略的文件……全都清清楚楚。这样一来,要检查工作区的变动,就不用再额外敲一遍 git status 了,效率提升非常明显。

(3) 更人性化的信息展示
eza 在信息呈现的细节上花了更多心思。比如文件修改日期,它默认会使用“1小时前”、“昨天”、“3个月前”这样的相对时间,远比一串冰冷的数字时间戳要直观。此外,对于一些高级需求,像文件的 SELinux 上下文、文件系统的挂载点信息,这些原本需要特殊参数才能查看到的内容,eza 也能很好地支持并展示。
(4) 灵活的视图与布局
除了经典的纵向列表视图,eza 还提供了规整的网格视图,并且解决了之前类似工具中常见的网格错位问题,显示效果非常整齐。你可以灵活控制目录是否像普通文件一样单行显示,这让输出结果能根据你的终端宽度和个人偏好进行自适应,阅读体验更加舒适。
(5) 支持超链接与主题定制
一些现代终端已经支持文件路径的点击跳转。eza 很好地利用了这一点,在兼容的终端里,它输出的文件名可以直接变成可点击的超链接,点一下就能用文件管理器打开,这个特性非常贴心。更有意思的是,eza 允许你通过一个简单的 theme.yml 配置文件,来彻底自定义所有的颜色方案和图标。如果你看腻了默认的蓝绿配色,完全可以自己打造一套独有的主题。

安装指南
尝鲜的途径很方便。对于已经启用 Flakes 的 Nix 用户来说,最简单的方法就是直接运行 nix run github:eza-community/eza,想带参数也只需要在后面追加即可。
至于其他主流操作系统,项目也提供了详尽的安装说明,包括 Windows、macOS 和各 Linux 发行版。通过 Homebrew、APT、Pacman 等包管理器都能一键安装,或者去项目的发布页下载预编译好的二进制文件,手动放入你的系统路径里就行。具体步骤,可以参考项目仓库中的 INSTALL.md 文件。
项目已在 GitHub 上开源,地址是:https://github.com/eza-community/eza。如果你也觉得默认的 ls 已经无法满足需求,不妨试试这个现代感十足的替代品。
