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。

评论留言