提到<code>ls</code>指令,大家都不陌生,在<code>Linux</code>環境下,其<code>主要作用:列出目前目錄下所包含的檔案及子目錄</code>,如果目前目錄下檔案過多,則使用指令<code>ls</code>不是很好,因為這輸出出來的結果跟你所要查找的檔案未能達成一緻,第一: 需要進行二次過濾查找;第二: 檔案過多時,終端輸出結果較慢;
那麼,今天傑哥給大家介紹一款 GitHub 開源的替代 ls 指令的工具。
EXA 是 Unix 和 Linux 作業系統附帶的指令行程式的 ls 現代替代品。
終端螢幕不再是瓶頸:exa 功能強大,比 ls 要友好,輸出結果會更快;
顔色:exa 大量使用顔色;
不與 ls 指令沖突
色彩:檔案類型清單以及如何區分檔案;
網格視圖:在與終端視窗大小相同的網格中顯示檔案;
長遠:在表中顯示檔案及其中繼資料;
樹視圖:在樹中顯示檔案及其子代;
Git 內建:在存儲庫中時,檢視檔案的 Git 狀态;
篩選:隐藏清單中的檔案,顯示不可見的檔案,并對輸出進行排序;
Xattrs:列出檔案的擴充屬性;
GitHub 位址:github.com/ogham/exa

exa 是基于 Rust 語言實作的,安裝前需檢查您的作業系統是否支援<code>Rustc 1.17.0</code>或<code>更高版本</code>,推薦安裝 Rust 的方法是從官方下載下傳頁面,<code>網址:https://www.rust-lang.org/tools/install</code>設定好之後,通過<code>make install</code>将編譯<code>exa</code>并将其安裝到<code>/usr/local/bin</code>中。
開始使用<code>Rust</code>的方法是必須要<code>安裝 Rustup</code>,它可以下載下傳并進行安裝<code>Rust</code>,并管理這<code>兩個元件:Cargo package manager(Cargo包管理器)和 build tool(建構工具)的更新。</code>
<code>exa</code>是一個獨立的二進制檔案,不需要任何依賴關系或特殊權限,如果作業系統有可用的軟體包,那麼可使用軟體包管理器自動處理下載下傳和驗證以及安裝手冊頁和Shell補全檔案,如果沒有,可以手動安裝<code>exa</code>也可編譯一個副本。
MacOS
在<code>MacOS</code>上安裝<code>exa</code>是使用<code>Homebrew</code>,<code>Homebrew</code>軟體包管理器提供了<code>exa二進制檔案</code>,也可以手動安裝。
傳送門:brew.sh/
如果您的<code>Linux</code>發行版包含<code>exa</code>軟體包,則可以從指令行安裝它:
Arch
Fedora
openSUSE
從源代碼建構 EXA
EXA 是開源的,可根據自己的需求建構版本,通過源代碼建構,同樣也是先按照上面的步驟,安裝 Rust,EXA 是基于 Rust 編寫的,在執行其他任何操作之前,必須先安裝 Rust 編譯器。
安裝其他依賴項
EXA 需要完成兩項依賴項:<code>libgit2(Git 庫)和 CMake(在 Rust 中使用 libgit2 的建構系統)</code>。
<code>exa</code>的某些功能取決于<code>libgit2</code>,若無法編譯<code>libgit2</code>,則可以通過運作退出<code>Git支援</code>
如編譯<code>musl</code>,并且要使<code>Git功能</code>正常工作,則需要使用标記<code>vendored-openssl</code>:
擷取 EXA 源
擷取代碼并設定環境變量後,即可使用 Cargo 建構 exa
一個可運作的二進制檔案将出現在<code>target/release</code>目錄中,可通過該二進制檔案複制到您的目錄中來<code>永久安裝 exa $PATH</code>。
采用 Cargo 安裝
如果安裝了最新版本的<code>Cargo(至少是Cargo v0.5.0)</code>,則可以使用它來安裝<code>exa</code>
<code>Cargo</code>建構<code>exa</code>二進制檔案将放置在<code>$HOME/.cargo</code>目錄中,您必須将其放置在目錄中<code>$PATH</code>,也可以通過将<code>--root</code>選項參數來給<code>Cargo</code>來覆寫此位置。
如使用的 Linux 發行版不支援通過以上方式安裝,可通過官方 GitHub 倉庫<code>Releases</code>頁面下載下傳編譯好的二進制版本進行使用。
github.com/ogham/exa/r…
下載下傳對應的二進制版本并進行解壓安裝到指定目錄下
下載下傳并安裝對應的 MAN 手冊
EXA 的使用方法基本和 ls 一樣,也是一個指令行程式,打開終端,使用 EXA 的選項參數即可運作指令,查詢出來的結果并進行列印。
基本文法格式:
清單檔案
EXA 的主要内容是:清單檔案,将傳遞着所需要的檔案作為參數以及一些檔案的選項。
使用<code>-l</code>選項可通過長視圖顯示檔案及其中繼資料。
遞歸
EXA 可以遞歸到目錄中并列出目錄下每個子目錄的内容,可使用<code>-R</code>或<code>--recurse</code>命,遞歸時,EXA 将為原始目錄下發現的任何子目錄提供單獨的清單。
使用<code>-R</code>選項将列出目錄及其包含的子目錄。
除上述舉例說的兩個參數選項以外,就不一一描述了,大家可以看如下圖檔中的參數選項或者在官網上探索更多參數的用法。