Linux運維基礎之exa命令詳解

Linux運維基礎之exa命令詳解

Linux 命令 exa  不僅僅是一個檔案列表器,它還是著名的 ls 命令的現代替代品,具有更強大的功能和更直觀的顯示效果。通過彩色編碼輸出和靈活的選項,exa 可以全面檢視檔案和目錄。

傳統的 ls 命令一直是 Linux 中的主打命令,而 exa 則更進一步,與其他命令和工具進行了更好的整合。無論你是管理大型伺服器的資深專業人士,還是修補家庭設定的業餘愛好者,exa 命令都是你工具包中的重要補充。與 grep find 等命令配合使用,exa 可以更高效地搜尋和處理檔案,簡化工作流程,增強命令列體驗。

如何安裝 exa 命令

大多數 Linux 發行版預設不包含 exa,因此你需要安裝它。以下是如何在一些常見的 Linux 發行版中安裝 exa

Ubuntu/Debian

您可以使用以下命令從軟體包管理器安裝 exa

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo apt update
sudo apt install exa
sudo apt update sudo apt install exa
sudo apt update
sudo apt install exa

Fedora

在 Fedora 上,您可以使用以下命令:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo dnf install exa
sudo dnf install exa
sudo dnf install exa

Arch Linux

如果使用 Arch Linux,可以從 AUR 安裝 exa

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
yay -S exa
yay -S exa
yay -S exa

原始碼編譯

如果您的發行版軟體包管理器中沒有 exa,或者您想要最新版本,可以從原始碼編譯。編譯時需要安裝 Rust

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
git clone https://github.com/ogham/exa.git
cd exa
cargo build --release
sudo cp target/release/exa /usr/local/bin/
git clone https://github.com/ogham/exa.git cd exa cargo build --release sudo cp target/release/exa /usr/local/bin/
git clone https://github.com/ogham/exa.git
cd exa
cargo build --release
sudo cp target/release/exa /usr/local/bin/

預編譯二進位制檔案

你也可以從 GitHub 官方釋出頁面下載預編譯二進位制檔案,並將其放入你的 PATH 中。

安裝完成後,你可以從命令列執行 exa,就像使用 ls 或其他命令列工具一樣。

如何使用 exa 命令

1. 基本列表

語法: exa

說明: 列出當前目錄下的檔案和目錄。

示例: exa

輸出:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Documents Pictures Videos
Documents Pictures Videos
Documents  Pictures  Videos

顯示三個目錄的名稱:Documents, Pictures, 和 Videos。

2. 長格式

語法: exa -l

說明: 顯示檔案和目錄的詳細資訊。

示例: exa -l

輸出:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
drwxr-xr-x user group 4 KB Jul 1 10:00 Documents
drwxr-xr-x user group 4 KB Jul 1 10:00 Pictures
drwxr-xr-x user group 4 KB Jul 1 10:00 Videos
drwxr-xr-x user group 4 KB Jul 1 10:00 Documents drwxr-xr-x user group 4 KB Jul 1 10:00 Pictures drwxr-xr-x user group 4 KB Jul 1 10:00 Videos
drwxr-xr-x  user  group  4 KB  Jul  1 10:00  Documents
drwxr-xr-x  user  group  4 KB  Jul  1 10:00  Pictures
drwxr-xr-x  user  group  4 KB  Jul  1 10:00  Videos

顯示三個目錄的許可權、所有者、組、大小、修改日期和名稱。

3. 樹形檢視

語法: exa --tree

說明: 以樹狀結構顯示檔案和目錄。

示例: exa --tree

輸出:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
.
├── Documents
├── Pictures
└── Videos
. ├── Documents ├── Pictures └── Videos
.
├── Documents
├── Pictures
└── Videos

以樹形結構顯示當前目錄及其三個子目錄。

4. 按大小排序

語法: exa -S

說明: 按大小排序檔案和目錄

示例: exa -S

輸出:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Videos Pictures Documents
Videos Pictures Documents
Videos  Pictures  Documents

列出按大小排序的三個目錄。

5. 顯示隱藏檔案

語法: exa -a

說明: 列出所有檔案和目錄,包括隱藏的檔案和目錄。

示例: exa -a

輸出:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
.hidden Documents Pictures Videos
.hidden Documents Pictures Videos
.hidden  Documents  Pictures  Videos

顯示三個目錄和一個隱藏檔案。

6. 顯示 Git 狀態

語法: exa --git

說明: 顯示檔案和目錄的 Git 狀態。

示例: exa --git

輸出:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
.M Documents ?? Pictures .D Videos
.M Documents ?? Pictures .D Videos
.M Documents  ?? Pictures  .D Videos

顯示三個具有 Git 狀態的專案:已修改 ( M ) 的文件、未跟蹤 ( ?? )的圖片和已刪除 ( D ) 的視訊。

7. 人類可讀大小

語法: exa -h

說明: 以人類可讀格式顯示檔案大小。

示例: exa -h

輸出:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Documents 4 KB Pictures 10 MB Videos 1 GB
Documents 4 KB Pictures 10 MB Videos 1 GB
Documents  4 KB  Pictures  10 MB  Videos  1 GB

列出以 KBMBGB 為單位大小的三個目錄。

8. 帶圖示列表

語法: exa --icons

說明: 顯示檔案旁邊的圖示。

示例: exa --icons

輸出:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
📁 Documents 📁 Pictures 🎥 Videos
📁 Documents 📁 Pictures 🎥 Videos
📁 Documents  📁 Pictures  🎥 Videos

顯示三個專案,圖示分別代表資料夾和視訊。

9. 大小色標

語法: exa --colour-scale

說明: 用色標顯示檔案大小。

示例: exa --colour-scale

輸出:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Documents (green) Pictures (yellow) Videos (red)
Documents (green) Pictures (yellow) Videos (red)
Documents (green)  Pictures (yellow)  Videos (red)

列出三個目錄,用顏色代表不同的大小比例。

10. 按檔案型別篩選

語法: exa --type=directory

說明: 只列出目錄。

示例: exa --type=directory

輸出:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Documents Pictures Videos
Documents Pictures Videos
Documents  Pictures  Videos

只顯示當前位置的目錄。

11. 分組目錄優先

語法: exa --group-directories-first

說明: 首先列出目錄,然後是檔案。

示例: exa --group-directories-first

輸出:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Documents Pictures Videos file1.txt file2.txt
Documents Pictures Videos file1.txt file2.txt
Documents  Pictures  Videos  file1.txt  file2.txt

列出三個目錄和兩個檔案。

12. 限制遞迴深度

語法: exa --level=2 --tree

說明: 將樹形檢視中的遞迴深度限制為 2 級。

示例: exa --level=2 --tree

輸出:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
.
├── Documents
│ └── file1.txt
├── Pictures
└── Videos
. ├── Documents │ └── file1.txt ├── Pictures └── Videos
.
├── Documents
│   └── file1.txt
├── Pictures
└── Videos

顯示當前目錄及其子目錄和檔案(最多 2 層)。

更多 Linux 命令

下面羅列了最常見的一些 Linux 命令,您可以根據自己的需要查閱對應命令的詳細解析:

目錄操作 rmdir · cd · pwd · exa · ls
檔案操作 cat · cp · dd · less · touch · ln · rename · more · head
檔案系統操作 chown · mkfs · locate
網路 ping · curl · wget · iptables · mtr
搜尋和文字處理 find · grep · sed · whatis · ripgrep · fd · tldr
系統資訊和管理 env · history · top · who · htop · glances · lsof
使用者和會話管理 screen · su · sudo · open

此外,我們還整理 Linux 命令列大全,以幫助大家全面深入地學習 Linux。

評論留言