exa:一個 ls 命令的現代替代品
https://linux.cn/article-13972-1.html
作者:Pratham Patel
譯者:Xingyu.Wang
我敢打賭你使用過 Linux 上的 ls 命令🔗 linuxhandbook.com,它是你 學習 Linux🔗 itsfoss.com 時首次接觸到的命令之一。
這個簡單的 ls 命令列出目錄的內容十分方便,但是直到我發現 exa 之前從來沒想過會有命令能替代它。
exa 命令簡介
exa🔗 the.exa.website 是一個命令行工具,可以列出指定路徑(如未指定則是當前目錄)的目錄和文件。這也許聽起來很熟悉,因爲這就是 ls 命令所做的事情。
exa 被視作從 UNIX 舊時代延續至今的古老的 ls 命令的一個現代替代品。如其所聲稱的那樣,它有比 ls 命令更多的功能、更好的默認行爲。
exa 功能
以下是一些你應該使用 exa 替代 ls 的原因:
◈ exa 像 ls 一樣可移植(在所有主流 Linux 發行版、*BSD 和 macOS 上可用)
◈ 默認彩色輸出
◈ exa 不同格式化的 “詳細” 輸出也許會吸引 Linux/BSD 新手
◈ 文件查詢是並行進行的,這使得 exa 與 ls 的性能相當
◈ 顯示單個文件的 git 暫存或未暫存狀態
exa 的另外一個不同的地方是它是用 Rust 編寫的。順便說一句,Rust 與 C 語言的執行速度相近,但在編譯時減少了內存錯誤,使你的軟件可以快速而安全地執行。
在 Linux 系統上安裝 exa
exa 最近很流行,因爲許多發行版開始將其包括在其官方軟件庫中。也就是說,你應該可以使用你的 [發行版的包管理器] 來安裝它。
從 Ubuntu 20.10 開始,你可以使用 apt 命令來安裝它:
sudo apt install exa
Arch Linux 已經有了它,你只需要 使用 pacman 命令🔗 itsfoss.com 即可:
sudo pacman -S exa
如果它無法通過你的包管理器安裝,請不要擔心。畢竟它是一個 Rust 包,你可以很容易地用 Cargo 安裝它。請確保在你使用的任何發行版 或 Ubuntu 上安裝了 Rust 和 Cargo🔗 itsfoss.com。
安裝 Rust 和 Cargo 後,使用此命令安裝 exa:
cargo install exa
使用 exa
exa 有很多命令選項,主要是爲了更好的格式化輸出和一些提高舒適度的改進,比如文件的 git 暫存或未暫存狀態等等。
下面是一些屏幕截圖,展示了 exa 是如何在你的系統上工作的。
簡單地使用 exa 命令將產生類似於 ls 但帶有顏色的輸出。這種彩色的東西可能沒有那麼吸引人,因爲像 Ubuntu 這樣的發行版至少在桌面版本中已經提供了彩色的 ls 輸出。不過,ls 命令本身默認沒有彩色輸出。
exa
exa 命令的輸出截圖,沒有任何額外的標誌
請注意,exa 和 ls 命令的選項不盡相同。例如,雖然 -l
選項在 exa 和 ls 中都給出了長列表,但 -h
選項添加了一個列標題,而不是 ls 的人類可讀選項。
exa -lh
正如我之前提到的,exa 有列標題以獲得更好的 “詳細” 輸出
我前面說過,exa 已經內置了 Git 集成。下面的屏幕截圖給出了 –git
標誌的演示。請注意 test_file
在 git
的 tracked
列中顯示 -N
,因爲它尚未添加到存儲庫中。
exa --git -lh
演示 git 標誌如何與 exa 一起工作
下面的例子不是我的貓鍵入的。它是各種選項的組合。exa 有可供你嘗試和探索的很多選項。
exa -abghHliS
一個非常豐富多彩和詳細的輸出,具有用戶友好的詳細輸出
你可以通過在終端中運行以下命令來獲取完整的選項列表:
exa --help
但是,如果你想了解 exa 所提供的功能,可以查看其 Git 存儲庫🔗 github.com 上的 官方文檔🔗 github.com。
值得從 ls 切換到 exa 嗎?
對於類 UNIX 操作系統的新手來說,exa 可能是用戶友好的,它犧牲了在腳本中容易使用的能力,以換取 “易用性” 和外觀。其中,顯示得更清楚並不是一件壞事。
無論如何,ls 就像通用命令。你可以將 exa 用於個人用途,但在編寫腳本時,請堅持使用 ls。當預期輸出與任一命令中的實際輸出不匹配時,ls 和 exa 之間一個 [或多個] 標誌的差異可能會讓你發瘋。
我想知道你對 exa 的看法。你已經嘗試過了嗎?你對它的體驗如何?
via: https://itsfoss.com/exa/
作者:Pratham Patel 選題:lujun9972 譯者:wxy 校對:wxy
本文由 LCTT 原創編譯,Linux 中國 榮譽推出
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/DR99eTfKpJ8GNdTadjsLjQ