這是我參與 8 月更文挑戰的第 28 天,活動詳情檢視: 8月更文挑戰
一名致力於在技術道路上的終身學習者、實踐者、分享者,一位忙起來又偶爾偷懶的原創博主,一個偶爾無聊又偶爾幽默的少年。
歡迎各位掘友們微信搜尋「傑哥的IT之旅」關注!
前言
提到ls
命令,大家都不陌生,在Linux
環境下,其主要作用:列出當前目錄下所包含的檔案及子目錄
,如果當前目錄下檔案過多,則使用命令ls
不是很好,因為這輸出出來的結果跟你所要查詢的檔案未能達成一致,第一: 需要進行二次過濾查詢;第二: 檔案過多時,終端輸出結果較慢;
那麼,今天傑哥給大家介紹一款 GitHub 開源的替代 ls 命令的工具。
一、EXA 是什麼?
EXA 是 Unix 和 Linux 作業系統附帶的命令列程式的 ls 現代替代品。
二、EXA 與 LS 有什麼不同之處?
- 終端螢幕不再是瓶頸:exa 功能強大,比 ls 要友好,輸出結果會更快;
- 顏色:exa 大量使用顏色;
- 不與 ls 命令衝突
三、EXA 的特徵
- 色彩:檔案型別列表以及如何區分檔案;
- 網格檢視:在與終端視窗大小相同的網格中顯示檔案;
- 長遠:在表中顯示檔案及其後設資料;
- 樹檢視:在樹中顯示檔案及其子代;
- Git 整合:在儲存庫中時,檢視檔案的 Git 狀態;
- 篩選:隱藏列表中的檔案,顯示不可見的檔案,並對輸出進行排序;
- Xattrs:列出檔案的擴充套件屬性;
GitHub 地址: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
在MacOS
上安裝exa
是使用Homebrew
,Homebrew
軟體包管理器提供了exa二進位制檔案
,也可以手動安裝。
傳送門:brew.sh/
$ brew install exa
複製程式碼
如果您的Linux
發行版包含exa
軟體包,則可以從命令列安裝它:
- Arch
$ sudo pacman -S exa
複製程式碼
- Fedora
$ sudo dnf install exa
複製程式碼
- openSUSE
$ sudo zypper install exa
複製程式碼
- 從原始碼構建 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
頁面下載編譯好的二進位制版本進行使用。
下載對應的二進位制版本並進行解壓安裝到指定目錄下
# 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
複製程式碼
除上述舉例說的兩個引數選項以外,就不一一描述了,大家可以看如下圖片中的引數選項或者在官網上探索更多引數的用法。
傳送門網址
1、命令列引數選項
the.exa.website/docs/comman…
2、GitHub 地址
github.com/ogham/exa
3、releases 頁面地址
github.com/ogham/exa/r…
4、環境變數地址
the.exa.website/docs/enviro…
5、顏色主題地址
the.exa.website/docs/colour…
本文完。
原創不易,如果你覺得這篇文章對你有點用的話,麻煩你為本文點個贊、評論或轉發一下,因為這將是我輸出更多優質文章的動力,感謝!
對了,掘友們記得給我點個免費的關注喲!防止你迷路下次就找不到我了。
我們下期再見!