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



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

