GitHub 標(biāo)星 8K+!一款開源替代 ls 的工具你值得擁有!
作者:JackTian
微信公眾號:杰哥的IT之旅(ID:Jake_Internet)
提到ls命令,大家都不陌生,在Linux環(huán)境下,其主要作用:列出當(dāng)前目錄下所包含的文件及子目錄,如果當(dāng)前目錄下文件過多,則使用命令ls不是很好,因為這輸出出來的結(jié)果跟你所要查找的文件未能達(dá)成一致,第一:需要進(jìn)行二次過濾查找;第二:文件過多時,終端輸出結(jié)果較慢;
那么,今天杰哥給大家介紹一款 GitHub 開源的替代 ls 命令的工具。
EXA 是什么?
EXA 是 Unix 和 Linux 操作系統(tǒng)附帶的命令行程序的 ls 現(xiàn)代替代品。
EXA 與 LS 有什么不同之處?
終端屏幕不再是瓶頸:exa 功能強(qiáng)大,比 ls 要友好,輸出結(jié)果會更快;
顏色:exa 大量使用顏色;
不與 ls 命令沖突
EXA 的特征
色彩:文件類型列表以及如何區(qū)分文件;
網(wǎng)格視圖:在與終端窗口大小相同的網(wǎng)格中顯示文件;
長遠(yuǎn):在表中顯示文件及其元數(shù)據(jù);
樹視圖:在樹中顯示文件及其子代;
Git 集成:在存儲庫中時,查看文件的 Git 狀態(tài);
篩選:隱藏列表中的文件,顯示不可見的文件,并對輸出進(jìn)行排序;
Xattrs:列出文件的擴(kuò)展屬性;
GitHub 地址:https://github.com/ogham/exa
安裝 Rust
exa 是基于 Rust 語言實(shí)現(xiàn)的,安裝前需檢查您的操作系統(tǒng)是否支持Rustc 1.17.0或更高版本,推薦安裝 Rust 的方法是從官方下載頁面,網(wǎng)址:https://www.rust-lang.org/tools/install設(shè)置好之后,通過make install將編譯exa并將其安裝到/usr/local/bin中。
開始使用Rust的方法是必須要安裝 Rustup,它可以下載并進(jìn)行安裝Rust,并管理這兩個組件:Cargo package manager(Cargo包管理器)和 build tool(構(gòu)建工具)的更新。
安裝 EXA
exa是一個獨(dú)立的二進(jìn)制文件,不需要任何依賴關(guān)系或特殊權(quán)限,如果操作系統(tǒng)有可用的軟件包,那么可使用軟件包管理器自動處理下載和驗證以及安裝手冊頁和Shell補(bǔ)全文件,如果沒有,可以手動安裝exa也可編譯一個副本。
MacOS
在MacOS上安裝exa是使用Homebrew,Homebrew軟件包管理器提供了exa二進(jìn)制文件,也可以手動安裝。
傳送門:https://brew.sh/
$?brew?install?exa
如果您的Linux發(fā)行版包含exa軟件包,則可以從命令行安裝它:
Arch
$?sudo?pacman?-S?exa
Fedora
$?sudo?dnf?install?exa
openSUSE
$?sudo?zypper?install?exa
從源代碼構(gòu)建 EXA
EXA 是開源的,可根據(jù)自己的需求構(gòu)建版本,通過源代碼構(gòu)建,同樣也是先按照上面的步驟,安裝 Rust,EXA 是基于 Rust 編寫的,在執(zhí)行其他任何操作之前,必須先安裝 Rust 編譯器。
安裝其他依賴項
EXA 需要完成兩項依賴項:libgit2(Git 庫)和 CMake(在 Rust 中使用 libgit2 的構(gòu)建系統(tǒng))。
exa的某些功能取決于libgit2,若無法編譯libgit2,則可以通過運(yùn)行退出Git支持
cargo?build?--release?--no-default-features
如編譯musl,并且要使Git功能正常工作,則需要使用標(biāo)記vendored-openssl:
cargo?build?--release?--target=x86_64-unknown-linux-musl?--features?vendored-openssl,git
獲取 EXA 源
$?git?clone?https://github.com/ogham/exa.git
獲取代碼并設(shè)置環(huán)境變量后,即可使用 Cargo 構(gòu)建 exa
$?cargo?build?--release
一個可運(yùn)行的二進(jìn)制文件將出現(xiàn)在target/release目錄中,可通過該二進(jìn)制文件復(fù)制到您的目錄中來永久安裝 exa $PATH。
采用 Cargo 安裝
如果安裝了最新版本的Cargo(至少是Cargo v0.5.0),則可以使用它來安裝exa
$?cargo?install?exa
Cargo構(gòu)建exa二進(jìn)制文件將放置在$HOME/.cargo目錄中,您必須將其放置在目錄中$PATH,也可以通過將--root選項參數(shù)來給Cargo來覆蓋此位置。
如使用的 Linux 發(fā)行版不支持通過以上方式安裝,可通過官方 GitHub 倉庫Releases頁面下載編譯好的二進(jìn)制版本進(jìn)行使用。
https://github.com/ogham/exa/releases
下載對應(yīng)的二進(jìn)制版本并進(jìn)行解壓安裝到指定目錄下
#?wget?https://github.com/ogham/exa/releases/download/v0.9.0/exa-linux-x86_64-0.9.0.zip
#?unzip?exa-linux-x86_64-0.9.0.zip
#?mv?exa-linux-x86_64?/usr/local/bin
下載并安裝對應(yīng)的 MAN 手冊
#?wget?https://raw.githubusercontent.com/ogham/exa/master/contrib/man/exa.1
#?mv?exa.1?/usr/share/man/man1
使用 EXA
EXA 的使用方法基本和 ls 一樣,也是一個命令行程序,打開終端,使用 EXA 的選項參數(shù)即可運(yùn)行命令,查詢出來的結(jié)果并進(jìn)行打印。
基本語法格式:
$?exa?[OPTIONS]?[FILES]
清單文件
EXA 的主要內(nèi)容是:清單文件,將傳遞著所需要的文件作為參數(shù)以及一些文件的選項。
使用-l選項可通過長視圖顯示文件及其元數(shù)據(jù)。
$?exa?-l
遞歸
EXA 可以遞歸到目錄中并列出目錄下每個子目錄的內(nèi)容,可使用-R或--recurse命,遞歸時,EXA 將為原始目錄下發(fā)現(xiàn)的任何子目錄提供單獨(dú)的列表。
使用-R選項將列出目錄及其包含的子目錄。
$?exa?-R
除上述舉例說的兩個參數(shù)選項以外,就不一一描述了,大家可以看如下圖片中的參數(shù)選項或者在官網(wǎng)上探索更多參數(shù)的用法。



傳送門網(wǎng)址:
1、命令行參數(shù)選項
https://the.exa.website/docs/command-line-options
2、GitHub 地址
https://github.com/ogham/exa
3、releases 頁面地址
https://github.com/ogham/exa/releases
4、環(huán)境變量地址
https://the.exa.website/docs/environment-variables
5、顏色主題地址
https://the.exa.website/docs/colour-themes
本公眾號全部博文已整理成一個目錄,請在公眾號后臺回復(fù)「m」獲取!

