Linux中國

exa:一個 ls 命令的現代替代品

我敢打賭你使用過 Linux 上的 ls 命令,它是你 學習 Linux 時首次接觸到的命令之一。

這個簡單的 ls 命令列出目錄的內容十分方便,但是直到我發現 exa 之前從來沒想過會有命令能替代它。

exa 命令簡介

exa 是一個命令行工具,可以列出指定路徑(如未指定則是當前目錄)的目錄和文件。這也許聽起來很熟悉,因為這就是 ls 命令所做的事情。

exa 被視作從 UNIX 舊時代延續至今的古老的 ls 命令的一個現代替代品。如其所聲稱的那樣,它有比 ls 命令更多的功能、更好的默認行為。

exa 功能

以下是一些你應該使用 exa 替代 ls 的原因:

  • exals 一樣可移植(在所有主流 Linux 發行版、*BSD 和 macOS 上可用)
  • 默認彩色輸出
  • exa 不同格式化的「詳細」輸出也許會吸引 Linux/BSD 新手
  • 文件查詢是並行進行的,這使得 exals 的性能相當
  • 顯示單個文件的 git 暫存或未暫存狀態

exa 的另外一個不同的地方是它是用 Rust 編寫的。順便說一句,Rust 與 C 語言的執行速度相近,但在編譯時減少了內存錯誤,使你的軟體可以快速而安全地執行。

在 Linux 系統上安裝 exa

exa 最近很流行,因為許多發行版開始將其包括在其官方軟體庫中。也就是說,你應該可以使用你的 [發行版的包管理器] 來安裝它。

從 Ubuntu 20.10 開始,你可以使用 apt 命令來安裝它:

sudo apt install exa

Arch Linux 已經有了它,你只需要 使用 pacman 命令 即可:

sudo pacman -S exa

如果它無法通過你的包管理器安裝,請不要擔心。畢竟它是一個 Rust 包,你可以很容易地用 Cargo 安裝它。請確保在你使用的任何發行版 或 Ubuntu 上安裝了 Rust 和 Cargo

安裝 Rust 和 Cargo 後,使用此命令安裝 exa

cargo install exa

使用 exa

exa 有很多命令選項,主要是為了更好的格式化輸出和一些提高舒適度的改進,比如文件的 git 暫存或未暫存狀態等等。

下面是一些屏幕截圖,展示了 exa 是如何在你的系統上工作的。

簡單地使用 exa 命令將產生類似於 ls 但帶有顏色的輸出。這種彩色的東西可能沒有那麼吸引人,因為像 Ubuntu 這樣的發行版至少在桌面版本中已經提供了彩色的 ls 輸出。不過,ls 命令本身默認沒有彩色輸出。

exa

exa 命令的輸出截圖,沒有任何額外的標誌

請注意,exals 命令的選項不盡相同。例如,雖然 -l 選項在 exals 中都給出了長列表,但 -h 選項添加了一個列標題,而不是 ls 的人類可讀選項。

exa -lh

正如我之前提到的,exa 有列標題以獲得更好的「詳細」輸出

我前面說過,exa 已經內置了 Git 集成。下面的屏幕截圖給出了 –git 標誌的演示。請注意 test_filegittracked 列中顯示 -N ,因為它尚未添加到存儲庫中。

exa --git -lh

演示 git 標誌如何與 exa 一起工作

下面的例子不是我的貓鍵入的。它是各種選項的組合。exa 有可供你嘗試和探索的很多選項。

exa -abghHliS

一個非常豐富多彩和詳細的輸出,具有用戶友好的詳細輸出

你可以通過在終端中運行以下命令來獲取完整的選項列表:

exa --help

但是,如果你想了解 exa 所提供的功能,可以查看其 Git 存儲庫 上的 官方文檔

值得從 ls 切換到 exa 嗎?

對於類 UNIX 操作系統的新手來說,exa 可能是用戶友好的,它犧牲了在腳本中容易使用的能力,以換取「易用性」和外觀。其中,顯示得更清楚並不是一件壞事。

無論如何,ls 就像通用命令。你可以將 exa 用於個人用途,但在編寫腳本時,請堅持使用 ls。當預期輸出與任一命令中的實際輸出不匹配時,lsexa 之間一個 [或多個] 標誌的差異可能會讓你發瘋。

我想知道你對 exa 的看法。你已經嘗試過了嗎?你對它的體驗如何?

via: https://itsfoss.com/exa/

作者:Pratham Patel 選題:lujun9972 譯者:wxy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國