当前位置: 首页 > 科技观察

exa:ls命令的现代替代

时间:2023-03-16 17:40:52 科技观察

我打赌你在Linux上使用过ls命令,它是你在学习Linux时遇到的第一个命令之一。这个用于列出目录内容的简单ls命令非常方便,但在我发现exa之前,我从未想过会有替代它的方法。exa命令介绍exa是一个命令行工具,可以列出指定路径(如果不指定则为当前目录)中的目录和文件。这听起来可能很熟悉,因为ls命令就是这样做的。exa被视为旧时代UNIX中古老的ls命令的现代替代品。正如它所声称的那样,它比ls命令具有更多的特性和更好的默认行为。exa功能以下是您应该使用exa而不是ls的一些原因:exa与ls一样便携(在所有主要Linux发行版、*BSD和macOS上都可用)默认彩色输出exa不同格式的“详细”输出可能很有吸引力Linux新手/BSD文件查询是并行完成的,这使得exa与ls性能相当,显示单个文件的git暂存或未暂存状态与exa不同的另一件事是它是用Rust编写的。顺便说一句,Rust的执行速度与C相似,但编译时内存错误更少,让您的软件能够快速安全地执行。在Linux系统上安装exaexa最近变得很流行,因为许多发行版开始将它包含在他们的官方软件存储库中。也就是说,您应该能够使用您的[发行版的包管理器]安装它。从Ubuntu20.10开始,可以使用apt命令安装:sudoaptinstallexaArchLinux已经有了,只需要使用pacman命令:sudopacman-Sexa如果无法通过包管理器安装,请执行不担心。毕竟它是一个Rust包,您可以使用Cargo轻松安装它。确保你在使用的任何发行版或Ubuntu上安装了Rust和Cargo。安装好Rust和Cargo之后,使用这个命令来安装exa:cargoinstallexaexa有很多命令选项,主要是为了更好的格式化输出和一些舒适性的改进,比如文件的gitstaged或unstaged状态等。下面是一些截图展示如何exa适用于您的系统。简单地使用exa命令将产生类似于ls但带有颜色的输出。这种彩色的东西可能没有那么吸引人,因为像Ubuntu这样的发行版已经提供了彩色的ls输出,至少在桌面版本中是这样。但是,默认情况下,ls命令本身没有彩色输出。没有任何附加标志的exaexa命令输出的屏幕截图请注意,exa和ls命令的选项是不同的。例如,虽然-l选项在exa和ls中给出长列表,但-h选项添加列标题而不是ls的人类可读选项。exa-lh正如我之前提到的,exa具有更好的“详细”输出的列标题我之前说过exa已经内置了Git集成。下面的屏幕截图演示了--git标志。注意test_file在git的tracked栏中显示-N是因为还没有添加到版本库中。exa--git-lh演示了git标志如何与exa一起使用下面的示例不是我的猫输入的。它是各种选项的组合。Exa有很多选项供您尝试和探索。exa-abghHliS非常丰富多彩的详细输出,用户友好的详细输出您可以通过在终端中运行以下命令来获得完整的选项列表:exa--help但是,如果您想了解exa必须提供什么,您可以查看其Git存储库上的官方文档。是否值得从ls切换到exa?对于那些刚接触类UNIX操作系统的人来说,exa可能是用户友好的,为了“易用性”和外观而牺牲了在脚本中轻松使用的能力。其中,显示得更清楚并不是坏事。无论如何,ls就像一个通用命令。您可以将exa用于个人用途,但在编写脚本时,请坚持使用ls。当预期输出与任一命令中的实际输出不匹配时,ls和exa之间一个[或多个]标志的差异可能会让您抓狂。我想知道你对exa的看法。你试过了吗?您的体验如何?