为什么我在 Linux 上使用 exa 而不是 ls？
exa 是一个 Linux ls 命令的现代替代品。
exa ls 目录
218.85.120.242
我用 lsd&nbsp;&nbsp;github:Peltoche/lsd
来自福建厦门的 Chrome 89.0|Mac 10.15 用户
2021-03-26T10:47:25.000
125.120.211.233
tree 不香吗
来自浙江杭州的 Chrome 89.0|Windows 10 用户
2021-03-29T18:23:25.000
125.120.211.233
tree 不香吗
来自浙江杭州的 Chrome 89.0|Windows 10 用户
2021-03-29T18:23:29.000
exa 是一个 Linux ls 命令的现代替代品。

> 
> exa 是一个 Linux ls 命令的现代替代品。
> 
> 
> 


![](/data/attachment/album/202103/26/101726h008fn6tttn4g6gt.jpg "bash logo on green background")


我们生活在一个繁忙的世界里，当我们需要查找文件和数据时，使用 `ls` 命令可以节省时间和精力。但如果不经过大量调整，默认的 `ls` 输出并不十分舒心。当有一个 exa 替代方案时，为什么要花时间眯着眼睛看黑白文字呢？


[exa](https://the.exa.website/docs) 是一个常规 `ls` 命令的现代替代品，它让生活变得更轻松。这个工具是用 [Rust](https://opensource.com/tags/rust) 编写的，该语言以并行性和安全性而闻名。


### 安装 exa


要安装 `exa`，请运行：



```
$ dnf install exa

```

### 探索 exa 的功能


`exa` 改进了 `ls` 文件列表，它提供了更多的功能和更好的默认值。它使用颜色来区分文件类型和元数据。它能识别符号链接、扩展属性和 Git。而且它体积小、速度快，只有一个二进制文件。


#### 跟踪文件


你可以使用 `exa` 来跟踪某个 Git 仓库中新增的文件。


![Tracking Git files with exa](/data/attachment/album/202103/26/101751cqw4iv3zt4qwww74.png "Tracking Git files with exa")


#### 树形结构


这是 `exa` 的基本树形结构。`--level` 的值决定了列表的深度，这里设置为 2。如果你想列出更多的子目录和文件，请增加 `--level` 的值。


![exa's default tree structure](/data/attachment/album/202103/26/101751smisaiiu73wqjwiw.png "exa's default tree structure")


这个树包含了每个文件的很多元数据。


![Metadata in exa's tree structure](/data/attachment/album/202103/26/101752lr2zqepcqp022lkk.png "Metadata in exa's tree structure")


#### 配色方案


默认情况下，`exa` 根据 [内置的配色方案](https://the.exa.website/features/colours) 来标识不同的文件类型。它不仅对文件和目录进行颜色编码，还对 `Cargo.toml`、`CMakeLists.txt`、`Gruntfile.coffee`、`Gruntfile.js`、`Makefile` 等多种文件类型进行颜色编码。


#### 扩展文件属性


当你使用 `exa` 探索 xattrs（扩展的文件属性）时，`--extended` 会显示所有的 xattrs。


![xattrs in exa](/data/attachment/album/202103/26/101752tjp2m14e42g7vjdm.png "xattrs in exa")


#### 符号链接


`exa` 能识别符号链接，也能指出实际的文件。


![symlinks in exa](/data/attachment/album/202103/26/101753q2zzx6xh03vqvt32.png "symlinks in exa")


#### 递归


当你想递归当前目录下所有目录的列表时，`exa` 能进行递归。


![recurse in exa](/data/attachment/album/202103/26/101753ltaahate7vh8tthw.png "recurse in exa")


### 总结


我相信 `exa 是最简单、最容易适应的工具之一。它帮助我跟踪了很多 Git 和 Maven 文件。它的颜色编码让我更容易在多个子目录中进行搜索，它还能帮助我了解当前的 xattrs。


你是否已经用 `exa` 替换了 `ls`？请在评论中分享你的反馈。




---


via: <https://opensource.com/article/21/3/replace-ls-exa>


作者：[Sudeshna Sur](https://opensource.com/users/sudeshna-sur) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出

