为什么我在 Linux 上使用 exa 而不是 ls

Exa 是 Linux ls 命令的现代替代品。
123 位读者喜欢这个。
bash logo on green background

Opensource.com

我们生活在一个繁忙的世界中,当我们需要查找文件和数据时,使用 ls 命令可以节省时间和精力。但是,如果不进行大量调整,默认的 ls 输出对眼睛来说并不那么舒适。当您有 exa 替代方案时,为什么要花时间眯着眼睛看黑白文本呢?

Exa 是常规 ls 命令的现代替代品,它使生活更轻松。该工具是用 Rust 编写的,Rust 以其并行性和安全性而闻名。

安装 exa

要安装 exa,请运行

$ dnf install exa

探索 exa 的功能

Exa 在 ls 文件列表的基础上进行了改进,具有更多功能和更好的默认设置。它使用颜色来区分文件类型和元数据。它了解符号链接、扩展属性和 Git。它体积小、速度快,并且只有一个二进制文件。

跟踪文件

您可以使用 exa 跟踪在给定的 Git 仓库中添加的新文件。

树状结构

这是 exa 的基本树状结构。级别决定了列表的深度;这里设置为 2。如果要列出更多子目录和文件,请增加级别的值。

此树包含有关每个文件的许多元数据。

配色方案

默认情况下,exa 根据内置配色方案隔离不同的文件类型。它不仅对文件和目录进行颜色编码,还对 Cargo.toml、CMakeLists.txt、Gruntfile.coffee、Gruntfile.js、Makefile 和许多其他文件类型进行颜色编码。

扩展文件属性

当您在 exa 中探索 xattrs(扩展文件属性)时,--extended 将显示在所有 xattrs 中。

Exa 了解符号链接,并指出实际文件。

递归

当您想循环列出当前目录下的所有目录时,exa 会引入递归。

结论

我相信 exa 是最简单、最适应性强的工具之一。它可以帮助我跟踪许多 Git 和 Maven 文件。它的颜色编码使我更容易搜索多个子目录,并且它帮助我理解当前的 xattrs。

您是否已将 ls 替换为 exa?请在评论中分享您的反馈。

接下来阅读什么
Sudeshna is from Kolkata and currently working for the Red Hat Middleware team in Pune, India. She loves to explore different open source projects and programs. She started contributing to Open Source a couple of years back as an Hacktober Participant since then she has been an avid blogger at Dzone on Python and Data Science. She enjoys her free time stargazing and loves continental cuisine. She is an RHCSA and is working her way to RHCA.
Sudeshna 来自加尔各答,目前在印度浦那的红帽中间件团队工作。她喜欢探索不同的开源项目和程序。她几年前开始为开源做贡献,作为 Hacktober 参与者,从那时起她一直是 Dzone 上关于 Python 和数据科学的狂热博主。她喜欢在空闲时间观星,并且热爱欧陆美食。

16 条评论

其中一些屏幕截图难以阅读。

exa 输出本身难以阅读——在 konsole 中我使用的淡黄色背景上,“exa -l”的某些列中稍亮的黄色几乎是不可见的。我不仅不知道该列中显示了什么数据,而且控制颜色也异常复杂。

回复 ,作者 Greg P

不错的发现!很棒的文章!

我很想使用这个。我差点将 ls/ll 别名为 exa,直到我意识到这个工具不能正确支持 SELiunux 文件上下文以及“ls -Z”的简单输出。不幸的是,这对我来说是一个决定性因素。:(

我喜欢 exa。它比 ls 漂亮得多,git 和 tree 功能也很棒。我编写了这个包装脚本,使外观和开关几乎与 ls 相同,因此您不必记住任何新的开关。

https://gist.github.com/eggbean/74db77c4f6404dd1f975bd6f048b86f8

exa 很有趣,但我不确定它是否真的为我的工作流程带来了任何额外的价值;它可以做的所有事情都已经存在,它基本上将多个工具组合成一个,因此不符合 unix 哲学。这不一定是坏事,但在这种情况下,我更喜欢使用默认工具。

bash 中已经有一个命令 tree,它做的事情类似。
查看“man tree”以查看其选项,这些选项非常广泛。

这很好,我会尝试 exa

看起来像一个很酷的编程项目,但总的来说,为什么要改变已经运行良好的东西……并且还破坏了 UNIX 哲学。

很棒的工具。我从来不知道我不喜欢“ls”,但是哇,exa 好太多了!

在我的 Ubuntu 上,exa 比 ls 大 6 倍(903k 对 146k)。你能解释一下为什么吗?是不是太大了?

嗨 Sudeshna,我仍然觉得颜色并不能缓解眼睛的疲劳。最重要的是使用 ```ls -lrt``` 来获得类似的视图,而不是安装第三方工具。正如 kakadu 指出的那样,第三方工具比 ls 大约 6 倍。无论如何,这是一篇很棒的文章

我不认为 exa 可以或将会取代 ls,但它似乎是一个不错的文本模式补充。我个人喜欢 ranger,尤其是 vifm,用于类似的目的(浏览文本模式,但具有视觉效果)。谢谢你的文章 :)

我花了一段时间才发现这个软件包不在 RHEL 或 CentOS 仓库中。只有 Fedora。

我已经习惯了 https://github.com/supercrabtree/k,因为它我已经使用了多年 - 它速度稍慢,但为我提供了 exa 没有的额外功能

我不明白……所以,使用 exa 来做所有我可以用 ls 做的事情?

认为我唯一不能用 ls 做的是树输出,但我使用这个,如果我想要目录中所有文件的树输出,它会写入文件。

alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g' > $tree.txt"

idk... 看不到使用 exa 的必要性,除非它可以做一些我没有它就无法做的真正酷的事情。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.