TranslateProject/published/20210322 Why I use exa instead of ls on Linux.md
2021-03-26 10:18:52 +08:00

101 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[#]: subject: (Why I use exa instead of ls on Linux)
[#]: via: (https://opensource.com/article/21/3/replace-ls-exa)
[#]: author: (Sudeshna Sur https://opensource.com/users/sudeshna-sur)
[#]: collector: (lujun9972)
[#]: translator: (geekpi)
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-13237-1.html)
为什么我在 Linux 上使用 exa 而不是 ls
======
> exa 是一个 Linux ls 命令的现代替代品。
![](https://img.linux.net.cn/data/attachment/album/202103/26/101726h008fn6tttn4g6gt.jpg)
我们生活在一个繁忙的世界里,当我们需要查找文件和数据时,使用 `ls` 命令可以节省时间和精力。但如果不经过大量调整,默认的 `ls` 输出并不十分舒心。当有一个 exa 替代方案时,为什么要花时间眯着眼睛看黑白文字呢?
[exa][2] 是一个常规 `ls` 命令的现代替代品,它让生活变得更轻松。这个工具是用 [Rust][3] 编写的,该语言以并行性和安全性而闻名。
### 安装 exa
要安装 `exa`,请运行:
```
$ dnf install exa
```
### 探索 exa 的功能
`exa` 改进了 `ls` 文件列表,它提供了更多的功能和更好的默认值。它使用颜色来区分文件类型和元数据。它能识别符号链接、扩展属性和 Git。而且它体积小、速度快只有一个二进制文件。
#### 跟踪文件
你可以使用 `exa` 来跟踪某个 Git 仓库中新增的文件。
![Tracking Git files with exa][4]
#### 树形结构
这是 `exa` 的基本树形结构。`--level` 的值决定了列表的深度,这里设置为 2。如果你想列出更多的子目录和文件请增加 `--level` 的值。
![exa's default tree structure][6]
这个树包含了每个文件的很多元数据。
![Metadata in exa's tree structure][7]
#### 配色方案
默认情况下,`exa` 根据 [内置的配色方案][8] 来标识不同的文件类型。它不仅对文件和目录进行颜色编码,还对 `Cargo.toml`、`CMakeLists.txt`、`Gruntfile.coffee`、`Gruntfile.js`、`Makefile` 等多种文件类型进行颜色编码。
#### 扩展文件属性
当你使用 `exa` 探索 xattrs扩展的文件属性`--extended` 会显示所有的 xattrs。
![xattrs in exa][9]
#### 符号链接
`exa` 能识别符号链接,也能指出实际的文件。
![symlinks in exa][10]
#### 递归
当你想递归当前目录下所有目录的列表时,`exa` 能进行递归。
![recurse in exa][11]
### 总结
我相信 `exa 是最简单、最容易适应的工具之一。它帮助我跟踪了很多 Git 和 Maven 文件。它的颜色编码让我更容易在多个子目录中进行搜索,它还能帮助我了解当前的 xattrs。
你是否已经用 `exa` 替换了 `ls`?请在评论中分享你的反馈。
--------------------------------------------------------------------------------
via: https://opensource.com/article/21/3/replace-ls-exa
作者:[Sudeshna Sur][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/sudeshna-sur
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/bash_command_line.png?itok=k4z94W2U (bash logo on green background)
[2]: https://the.exa.website/docs
[3]: https://opensource.com/tags/rust
[4]: https://opensource.com/sites/default/files/uploads/exa_trackingfiles.png (Tracking Git files with exa)
[5]: https://creativecommons.org/licenses/by-sa/4.0/
[6]: https://opensource.com/sites/default/files/uploads/exa_treestructure.png (exa's default tree structure)
[7]: https://opensource.com/sites/default/files/uploads/exa_metadata.png (Metadata in exa's tree structure)
[8]: https://the.exa.website/features/colours
[9]: https://opensource.com/sites/default/files/uploads/exa_xattrs.png (xattrs in exa)
[10]: https://opensource.com/sites/default/files/uploads/exa_symlinks.png (symlinks in exa)
[11]: https://opensource.com/sites/default/files/uploads/exa_recurse.png (recurse in exa)