文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

为什么我在 Linux 上不再使用 ls 命令

2024-12-03 03:55

关注

 如果您使用Linux和类Unix的操作系统,那么您肯定会熟悉或使用ls命令行实用程序。它列出了关于文件或目录的信息。作为一个已有几十年历史的命令,ls并没有提供您可能想要的现代功能,例如Git支持、彩色和树视图输出。这就是exa工具出现的意义,是Linux ls命令的现代替代品。

exa:使用 Rust 语言编写的 ls 文件列表命令替代品

与ls类似,exa也是一个列出文件的免费开源命令行实用程序。但是,exa轻便快捷,用友好,具有更多的特性和更好的查询性能。

如果你经常涉及列出数百个文件并与之交互,则exa可以通过使用并行查询在几秒钟内显示输出,从而帮助您减少很多工作。

不仅是快速查询,它还有助于轻松识别文件类型和元数据,默认情况下,文件类型和元数据根据文件扩展名的颜色会有所不同。

exa vs ls

如上图所示,默认情况下,exa还会输出易于我们查看的的文件大小。虽然您需要对ls命令使用-h或--human-可读选项。

此外,exa带有用于树形视图输出的内置工具,您还可以将其与文件信息结合使用。

树形视图输出

与exa和ls区别最有趣的功能是对Git版本控制系统的支持。

如果您位于Git存储库中,并且想查看自上次提交以来是否有任何文件更改或修改,而没有安装Git并使用git status,则可以将 –git选项与exa一起使用。它将在元数据表中添加一个新的Git列,其中包含两个描述暂存或未暂存状态的字符。

Git集成

如何在Ubuntu和其他Linux发行版上安装Exa?

有趣的是,exa是一个独立的二进制文件,不需要安装任何依赖项。唯一需要安装的是下载操作系统的二进制文件并将其放在$PATH环境变量中列出的目录(最可能是/usr/bin/)中。

但是,如果您发现此手动方法很困难,则另一种(最简单的)安装exa的方法是使用系统的默认软件包管理器。

对于Debian和Ubuntu 20.10+,您可以运行: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install exa 

在Arch Linux上 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ pacman -S exa 

在Fedora上 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ dnf install exa 

对于Gentoo 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ emerge sys-apps/exa 

在openSUSE上 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ zypper install exa 

在Fedora上 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ dnf install exa 

此外,如果您使用的是macOS,并且已经安装了Homebrew软件包管理器,请运行以下命令: 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ brew install exa 

最后,您还可以使用源代码,所需的依赖项并按照此处给出的说明进行编译和构建。

如何使用Exa?

列出具有元数据的文件

使用--long或-l选项,您可以显示文件及其元数据。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ exa -l 

列出元数据

而且,如果您不知道元数据中的每一列意味着什么,则可以使用相同的选项,--header或者-h添加一个用于定义每一列的新行。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ exa -lh 

列出文件详细信息带header

显示目录的内容

如果要列出特定目录的所有内容,请使用当前目录路径作为参数,而不是当前目录。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ exa /home/linuxmi 

列出目录

列出所有目录和子目录中的文件

要递归列出目录和子目录,可以--recurse或-R选择。它为每个子目录创建一个单独的列表。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ exa -R 

递归子目录

以树形结构列出目录的内容

由于exa具有一个内置工具,可以以递归方式显示类似树的内容,因此您不需要像树这样的额外命令。您可以通过--tree或-T选项,它将以树形结构列出所有目录和子目录的内容。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ exa -R 

树形结构输出

如果要在特定程度上查看子目录的内容,也可以使用-L或--level=(depth)选项来限制递归的深度。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ exa -T -L 2 

深度受限的树形结构输出 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ exa -T -L 1 

深度受限的树形结构输出

禁用彩色输出

不喜欢查看彩色终端输出吗?嗯,exa也接受--color选项,它的值是always、automatic和never。如果要禁用颜色,请传递--color=never参数。 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ exa --long --color=never 

禁用颜色的exa输出

如果您想充分利用exa实用程序,可以阅读其官方文档。

您是否认为是时候用exa命令替换ls了,或者你现在已经这样做了?请在下面的评论中告诉我们。 

 

来源:良许Linux内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯