在 GitHub 上闲逛时,我偶然发现了 eza —— 一个用 Rust 重写的 ls 命令现代替代品。它就像给那个老旧的终端文件列表工具做了一次彻头彻尾的升级,色彩一下子鲜活明亮起来,信息展示也更加直观,让人眼前一亮。
平时折腾命令行工具时,总会遇到一些让人不爽的小细节。比如系统自带的 ls 命令,配色总是灰蒙蒙的,想查看 Git 状态还得切换到别的工具,文件和文件夹混在一起密密麻麻,看得人眼花。
后来在 GitHub 上发现了 eza,这个基于 Rust 的现代 ls 替代品,彻底刷新了终端文件列表的体验。它不仅颜色更鲜艳,信息呈现也更直观,一眼看去清清楚楚。

eza是什么

eza 是一款面向 Unix/Linux 系统的现代文件列表命令行工具,旨在取代传统的 ls 命令。它通过更丰富的色彩、更智能的默认设置以及对 Git、文件属性等现代特性的原生支持,让用户在终端里浏览文件时能获得更清晰、更愉悦的体验。而且它只是一个单一的可执行文件,体积小巧,运行飞快。
核心功能
(1) 色彩与图标,一目了然
它用颜色区分文件类型,比系统自带的 ls 要丰富和养眼得多,还支持图标显示。如果你安装了 Nerd Fonts,就能在文件名旁边看到对应的小图标,文件夹、文本文件、压缩包、可执行文件都一目了然,扫一眼就知道目录里有什么,不用再眯着眼睛看那排灰色的字了。

(2) 集成 Git 状态,开发者友好
这个功能对我特别有用。在项目目录里运行 eza,它会直接在文件名后面标注出 Git 状态,新增的、修改的、忽略的文件都用不同的标记或颜色标出来,省得我再单独跑 git status 命令了。检查哪些文件有变动变得非常直接。

(3) 更人性化的信息展示
eza 在显示文件详细信息时做了很多贴心的改动。比如日期默认显示“1小时前”、“昨天”这种相对时间,比一长串的数字时间戳好理解多了。它还支持显示文件的 Selinux 上下文和文件系统的挂载点信息,这些都是原版 ls 要么不显示、要么很麻烦才能看到的内容。
(4) 灵活的视图与布局
除了传统的列表视图,eza 还提供了网格视图,并且修复了之前同类工具中存在的“网格错位”问题,显示更整齐。你可以通过选项控制是否将目录像文件一样单行显示,这让输出结果可以根据你的屏幕宽度和需求灵活调整,看着更舒服。
(5) 支持超链接与主题定制
在支持超链接的终端里,eza 输出的文件名可以变成可点击的链接,直接跳转到文件管理器,这算是个很现代的小特性。此外,它允许你通过一个 theme.yml 配置文件来自定义所有的颜色和图标,不喜欢默认的蓝绿色?自己换一套配色就行了。

安装指南
如果你在用 Nix,并且启用了 Flakes,那最简单了,直接运行 `nix run github:eza-community/eza` 就能尝鲜,想带参数的话,比如 `nix run github:eza-community/eza -- -ol` 就行。
对于其他主流系统,项目提供了非常详细的安装说明,包括 Windows、macOS 和各种 Linux 发行版。你可以去项目的 INSTALL.md 文件里找,通过包管理器像 brew、apt、pacman 都能装,或者直接下载预编译的二进制文件放到 PATH 里。
开源地址:https://github.com/eza-community/eza
