服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|

服务器之家 - 服务器系统 - Linux - exa:一个 ls 命令的现代替代品

exa:一个 ls 命令的现代替代品

2021-11-11 23:14Linux中国Pratham Pate Linux

这个简单的 ls 命令列出目录的内容十分方便,但是直到我发现 exa 之前从来没想过会有命令能替代它。

exa:一个 ls 命令的现代替代品

我敢打赌你使用过 Linux 上的 ls 命令,它是你 学习 Linux 时首次接触到的命令之一。

这个简单的 ls 命令列出目录的内容十分方便,但是直到我发现 exa 之前从来没想过会有命令能替代它。

exa 命令简介

exa 是一个命令行工具,可以列出指定路径(如未指定则是当前目录)的目录和文件。这也许听起来很熟悉,因为这就是 ls 命令所做的事情。

exa 被视作从 UNIX 旧时代延续至今的古老的 ls 命令的一个现代替代品。如其所声称的那样,它有比 ls 命令更多的功能、更好的默认行为。

exa:一个 ls 命令的现代替代品

exa 功能

以下是一些你应该使用 exa 替代 ls 的原因:

  • exa 像 ls 一样可移植(在所有主流 Linux 发行版、*BSD 和 macOS 上可用)
  • 默认彩色输出
  • exa 不同格式化的“详细”输出也许会吸引 Linux/BSD 新手
  • 文件查询是并行进行的,这使得 exa 与 ls 的性能相当
  • 显示单个文件的 git 暂存或未暂存状态

exa 的另外一个不同的地方是它是用 Rust 编写的。顺便说一句,Rust 与 C 语言的执行速度相近,但在编译时减少了内存错误,使你的软件可以快速而安全地执行。

在 Linux 系统上安装 exa

exa 最近很流行,因为许多发行版开始将其包括在其官方软件库中。也就是说,你应该可以使用你的 [发行版的包管理器] 来安装它。

从 Ubuntu 20.10 开始,你可以使用 apt 命令来安装它:

  1. sudo apt install exa

Arch Linux 已经有了它,你只需要 使用 pacman 命令 即可:

  1. sudo pacman -S exa

如果它无法通过你的包管理器安装,请不要担心。毕竟它是一个 Rust 包,你可以很容易地用 Cargo 安装它。请确保在你使用的任何发行版 或 Ubuntu 上安装了 Rust 和 Cargo。

安装 Rust 和 Cargo 后,使用此命令安装 exa

  1. cargo install exa

使用 exa

exa 有很多命令选项,主要是为了更好的格式化输出和一些提高舒适度的改进,比如文件的 git 暂存或未暂存状态等等。

下面是一些屏幕截图,展示了 exa 是如何在你的系统上工作的。

简单地使用 exa 命令将产生类似于 ls 但带有颜色的输出。这种彩色的东西可能没有那么吸引人,因为像 Ubuntu 这样的发行版至少在桌面版本中已经提供了彩色的 ls 输出。不过,ls 命令本身默认没有彩色输出。

  1. exa

exa:一个 ls 命令的现代替代品

exa 命令的输出截图,没有任何额外的标志

请注意,exa 和 ls 命令的选项不尽相同。例如,虽然 -l 选项在 exa 和 ls 中都给出了长列表,但 -h 选项添加了一个列标题,而不是 ls 的人类可读选项。

  1. exa -lh

exa:一个 ls 命令的现代替代品

正如我之前提到的,exa 有列标题以获得更好的“详细”输出

我前面说过,exa 已经内置了 Git 集成。下面的屏幕截图给出了 –git 标志的演示。请注意 test_file 在 git 的 tracked 列中显示 -N ,因为它尚未添加到存储库中。

  1. exa --git -lh

exa:一个 ls 命令的现代替代品

演示 git 标志如何与 exa 一起工作

下面的例子不是我的猫键入的。它是各种选项的组合。exa 有可供你尝试和探索的很多选项。

  1. exa -abghHliS

exa:一个 ls 命令的现代替代品

一个非常丰富多彩和详细的输出,具有用户友好的详细输出

你可以通过在终端中运行以下命令来获取完整的选项列表:

  1. exa --help

但是,如果你想了解 exa 所提供的功能,可以查看其 Git 存储库 上的 官方文档。

值得从 ls 切换到 exa 吗?

对于类 UNIX 操作系统的新手来说,exa 可能是用户友好的,它牺牲了在脚本中容易使用的能力,以换取“易用性”和外观。其中,显示得更清楚并不是一件坏事。

无论如何,ls 就像通用命令。你可以将 exa 用于个人用途,但在编写脚本时,请坚持使用 ls。当预期输出与任一命令中的实际输出不匹配时,ls 和 exa 之间一个 [或多个] 标志的差异可能会让你发疯。

我想知道你对 exa 的看法。你已经尝试过了吗?你对它的体验如何?

原文链接:https://linux.cn/article-13972-1.html

延伸 · 阅读

精彩推荐
  • Linuxlinux 字符界面 安装模式创建LVM

    linux 字符界面 安装模式创建LVM

    linux 字符界面 安装模式创建LVM,需要的朋友可以参考下。...

    Linux教程网6842021-02-02
  • Linux怎样在Linux中安装光盘上的DHCP服务

    怎样在Linux中安装光盘上的DHCP服务

    有些刚接触和学习linux的同学在安装好linux后想学习配置dhcp服务器,但是刚装的linux又没有安装dhcp服务器端,dhcpd .conf.sample文件也找不到,开始我也遇到这...

    百度经验6222019-05-30
  • Linuxlinux系统怎么增加swap分区空间小?

    linux系统怎么增加swap分区空间小?

    linux系统怎么增加swap分区空间小?准的Linux安装,SWAP分区是内存的两倍大小,如果增加了内存条,那SWAP分区也要增加。 如果增加1G内存,SWAP分区就要增加...

    脚本之家4372019-09-05
  • LinuxLinux系统中查询发行版本号以及内核版本的命令总结

    Linux系统中查询发行版本号以及内核版本的命令总结

    这篇文章主要介绍了Linux系统中查询发行版本号以及内核版本的命令总结,文中罗列了Ubuntu、CentOS以及Debian等常用的发行版的查询示例,需要的朋友可以参考下...

    OSChina9022019-06-28
  • LinuxLinux中tail命令用法详解

    Linux中tail命令用法详解

    tail命令也是一个非常常用的文件查看类的命令,接下来通过本篇文章给大家介绍linux中tail命令的用法详解,感兴趣的朋友一起看看吧 ...

    waitig3522021-11-08
  • Linuxlinux nc命令传输文件(远程复制文件)

    linux nc命令传输文件(远程复制文件)

    今天主要讲下用nc 传输文件。由于公司的设备sudo 后没有ssh ,scp 等远程接入命令,或host.deny 里面设置了ssh 的deny ,不管怎样的原因。我今天跨过大家常用...

    脚本之家10822019-06-14
  • LinuxLinux系统的服务器上出现故障时常用的分析命令总结

    Linux系统的服务器上出现故障时常用的分析命令总结

    这篇文章主要介绍了Linux系统的服务器上出现故障时常用的分析命令总结,包括系统连接状态和数据库等的查看,需要的朋友可以参考下...

    大步's blog5492019-09-11
  • Linux浅析Linux中的零拷贝技术的使用

    浅析Linux中的零拷贝技术的使用

    这篇文章主要介绍了浅析Linux中的零拷贝技术的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们...

    卡巴拉的树4512020-07-27