做者:JackTian
微信公衆號:傑哥的IT之旅(ID:Jake_Internet)linux
提到ls命令,你們都不陌生,在Linux環境下,其主要做用:列出當前目錄下所包含的文件及子目錄,若是當前目錄下文件過多,則使用命令ls不是很好,由於這輸出出來的結果跟你所要查找的文件未能達成一致,第一:須要進行二次過濾查找;第二:文件過多時,終端輸出結果較慢;git
那麼,今天傑哥給你們介紹一款 GitHub 開源的替代 ls 命令的工具。
EXA 是什麼?
EXA 是 Unix 和 Linux 操做系統附帶的命令行程序的 ls 現代替代品。github
EXA 與 LS 有什麼不一樣之處?web
終端屏幕再也不是瓶頸:exa 功能強大,比 ls 要友好,輸出結果會更快;微信
顏色:exa 大量使用顏色;ide
EXA 的特徵工具
色彩:文件類型列表以及如何區分文件;ui
網格視圖:在與終端窗口大小相同的網格中顯示文件;操作系統
長遠:在表中顯示文件及其元數據;命令行
樹視圖:在樹中顯示文件及其子代;
Git 集成:在存儲庫中時,查看文件的 Git 狀態;
篩選:隱藏列表中的文件,顯示不可見的文件,並對輸出進行排序;
GitHub 地址:https://github.com/ogham/exa
安裝 Rust
exa 是基於 Rust 語言實現的,安裝前需檢查您的操做系統是否支持Rustc 1.17.0或更高版本,推薦安裝 Rust 的方法是從官方下載頁面,網址:https://www.rust-lang.org/tools/install設置好以後,經過make install將編譯exa並將其安裝到/usr/local/bin中。
開始使用Rust的方法是必需要安裝 Rustup,它能夠下載並進行安裝Rust,並管理這兩個組件:Cargo package manager(Cargo包管理器)和 build tool(構建工具)的更新。
安裝 EXA
exa是一個獨立的二進制文件,不須要任何依賴關係或特殊權限,若是操做系統有可用的軟件包,那麼可以使用軟件包管理器自動處理下載和驗證以及安裝手冊頁和Shell補全文件,若是沒有,能夠手動安裝exa也可編譯一個副本。
在MacOS上安裝exa是使用Homebrew,Homebrew軟件包管理器提供了exa二進制文件,也能夠手動安裝。
傳送門:https://brew.sh/
$ brew install exa
若是您的Linux發行版包含exa軟件包,則能夠從命令行安裝它:
$ sudo pacman -S exa
$ sudo dnf install exa
$ sudo zypper install exa
EXA 是開源的,可根據本身的需求構建版本,經過源代碼構建,一樣也是先按照上面的步驟,安裝 Rust,EXA 是基於 Rust 編寫的,在執行其餘任何操做以前,必須先安裝 Rust 編譯器。
EXA 須要完成兩項依賴項:libgit2(Git 庫)和 CMake(在 Rust 中使用 libgit2 的構建系統)。
exa的某些功能取決於libgit2,若沒法編譯libgit2,則能夠經過運行退出Git支持
cargo build --release --no-default-features
如編譯musl,而且要使Git功能正常工做,則須要使用標記vendored-openssl:
cargo build --release --target=x86_64-unknown-linux-musl --features vendored-openssl,git
獲取 EXA 源
$ git clone https://github.com/ogham/exa.git
獲取代碼並設置環境變量後,便可使用 Cargo 構建 exa
$ cargo build --release
一個可運行的二進制文件將出如今target/release目錄中,可經過該二進制文件複製到您的目錄中來永久安裝 exa $PATH。
採用 Cargo 安裝
若是安裝了最新版本的Cargo(至少是Cargo v0.5.0),則可使用它來安裝exa
$ cargo install exa
Cargo構建exa二進制文件將放置在$HOME/.cargo目錄中,您必須將其放置在目錄中$PATH,也能夠經過將--root選項參數來給Cargo來覆蓋此位置。
如使用的 Linux 發行版不支持經過以上方式安裝,可經過官方 GitHub 倉庫Releases頁面下載編譯好的二進制版本進行使用。
https://github.com/ogham/exa/releases
下載對應的二進制版本並進行解壓安裝到指定目錄下
# 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
下載並安裝對應的 MAN 手冊
# wget https://raw.githubusercontent.com/ogham/exa/master/contrib/man/exa.1 # mv exa.1 /usr/share/man/man1
使用 EXA
EXA 的使用方法基本和 ls 同樣,也是一個命令行程序,打開終端,使用 EXA 的選項參數便可運行命令,查詢出來的結果並進行打印。
基本語法格式:
$ exa [OPTIONS] [FILES]
清單文件
EXA 的主要內容是:清單文件,將傳遞着所須要的文件做爲參數以及一些文件的選項。
使用-l選項可經過長視圖顯示文件及其元數據。
$ exa -l
遞歸
EXA 能夠遞歸到目錄中並列出目錄下每一個子目錄的內容,可以使用-R或--recurse命,遞歸時,EXA 將爲原始目錄下發現的任何子目錄提供單獨的列表。
使用-R選項將列出目錄及其包含的子目錄。
$ exa -R
除上述舉例說的兩個參數選項之外,就不一一描述了,你們能夠看以下圖片中的參數選項或者在官網上探索更多參數的用法。
傳送門網址:
一、命令行參數選項
https://the.exa.website/docs/command-line-options
二、GitHub 地址
https://github.com/ogham/exa
三、releases 頁面地址
https://github.com/ogham/exa/releases
四、環境變量地址
https://the.exa.website/docs/environment-variables
五、顏色主題地址
https://the.exa.website/docs/colour-themes