不到 2MB ! 再見(jiàn) ls
在折騰命令行工具的時(shí)候,總會(huì)遇到那些讓人不爽的小細(xì)節(jié),比如 ls 命令的配色總是灰蒙蒙的,看 Git 狀態(tài)還得切到別的工具,文件夾和文件混在一起密密麻麻。
后來(lái)在 GitHub 上發(fā)現(xiàn)了 eza,一個(gè)用 Rust 寫(xiě)的 ls 命令現(xiàn)代替代品,它像是給老舊的終端文件列表做了一次全面升級(jí),顏色更鮮明了,信息也更直觀了,讓人眼前一亮。

eza是什么

eza 是一個(gè)用于 Unix/Linux 系統(tǒng)的現(xiàn)代文件列表命令行工具,旨在替代傳統(tǒng)的 ls 命令。它通過(guò)更豐富的色彩、更智能的默認(rèn)設(shè)置以及對(duì) Git、文件屬性等現(xiàn)代特性的原生支持,讓用戶在終端里查看文件時(shí)能獲得更清晰、更愉悅的體驗(yàn),而且它只是一個(gè)單一二進(jìn)制文件,很小也很快。
核心功能
(1) 色彩與圖標(biāo),一目了然
它用顏色區(qū)分文件類(lèi)型,比系統(tǒng)自帶的 ls 要豐富和養(yǎng)眼得多,還支持圖標(biāo),如果你裝了 Nerd Fonts,能在文件名旁邊看到對(duì)應(yīng)的小圖標(biāo),文件夾、文本文件、壓縮包、可執(zhí)行文件都一目了然,掃一眼就知道目錄里有什么,不用再瞇著眼睛看那排灰色的字了。

(2) 集成 Git 狀態(tài),開(kāi)發(fā)者友好
這個(gè)功能對(duì)我特別有用,在項(xiàng)目目錄里運(yùn)行 eza,它會(huì)直接在文件名后面標(biāo)注出 Git 狀態(tài),新增的、修改的、忽略的文件都用不同的標(biāo)記或顏色標(biāo)出來(lái),省得我再單獨(dú)跑 git status 命令了,檢查哪些文件有變動(dòng)變得非常直接。

(3) 更人性化的信息展示
eza 在顯示文件詳細(xì)信息時(shí)做了很多貼心改動(dòng),比如日期默認(rèn)顯示“1小時(shí)前”、“昨天”這種相對(duì)時(shí)間,比一長(zhǎng)串的數(shù)字時(shí)間戳好理解多了,它還支持顯示文件的 Selinux 上下文和文件系統(tǒng)的掛載點(diǎn)信息,這些都是原版 ls 要么不顯示要么很麻煩才能看到的內(nèi)容。
(4) 靈活的視圖與布局
除了傳統(tǒng)的列表視圖,eza 提供了網(wǎng)格視圖,并且修復(fù)了之前同類(lèi)工具中存在的“網(wǎng)格錯(cuò)位”問(wèn)題,顯示更整齊,你可以通過(guò)選項(xiàng)控制是否將目錄像文件一樣單行顯示,這讓輸出結(jié)果可以根據(jù)你的屏幕寬度和需求靈活調(diào)整,看著更舒服。
(5) 支持超鏈接與主題定制
在支持超鏈接的終端里,eza 輸出的文件名可以變成可點(diǎn)擊的鏈接,直接跳轉(zhuǎn)到文件管理器,這算是個(gè)很現(xiàn)代的小特性,此外,它允許你通過(guò)一個(gè) theme.yml 配置文件來(lái)自定義所有的顏色和圖標(biāo),不喜歡默認(rèn)的藍(lán)綠色?自己換一套配色就行了。

安裝指南
如果你在用 Nix,并且啟用了 Flakes,那最簡(jiǎn)單了,直接運(yùn)行 nix run github:eza-community/eza 就能?chē)L鮮,想帶參數(shù)的話,比如 nix run github:eza-community/eza -- -ol 就行。
對(duì)于其他主流系統(tǒng),項(xiàng)目提供了非常詳細(xì)的安裝說(shuō)明,包括 Windows、macOS 和各種 Linux 發(fā)行版,你可以去項(xiàng)目的 INSTALL.md 文件里找,通過(guò)包管理器像 brew、apt、pacman 都能裝,或者直接下載預(yù)編譯的二進(jìn)制文件放到 PATH 里。
開(kāi)源地址:https://github.com/eza-community/eza



























