这个简单的 ls 命令列出目录的内容十分方便,但是直到我发现 exa 之前从来没想过会有命令能替代它。我敢打赌你使用过 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 系统上安装 exa

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

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

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

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

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

cargo install exa

使用 exa

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

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

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

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

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

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

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

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

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

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

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

exa --help

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

值得从 ls 切换到 exa 吗?

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

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

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

exa:一个 ls 命令的现代替代品相关推荐

  1. linux写一个ls命令,linux 下 如何自己写 ls 命令

    有过linux 基础 都知道 ls 命令的作用 下面给出实现代码 #include #include #include #include #include #include #include #inc ...

  2. python中ls是什么_使用python实现ls命令(1)

    打算用python写一个ls命令脚本,以练习python基础.这个文档就是记录该小项目的进展和学习心得. ls是Linux下最常用的命令之一,可以列出目录内文件即子目录名,可以配合众多参数使用.为此专 ...

  3. 每天一个Linux命令-ls

    ls 命令在linux系统中是使用频率最频繁的几个命令之一,直接使用不带目录名,是默认显示当前目录的文件及子目录名称,ls加指定目录名,则可以查看指定目录下的文件及子目录名称,ls不仅可以查看目录下有 ...

  4. c# 找出目录下的所有子目录_Linux技巧:ls命令只列出子目录名和每行打印一个文件名

    本篇文章介绍 Linux ls 命令如何只列出指定目录下的子目录名,和每行只打印一个文件名的方法. 只列出指定目录下的子目录名 在 ls 命令中只列出子目录名 在 Linux 中,ls 命令默认会列出 ...

  5. 每日一个Linux命令之ls命令

    每日一个Linux命令之ls命令 1. ls命令简介 2. 常见选项 1. ls命令简介 ls命令(list)可用于列出指定路径下的文件(Linux中一切皆文件,目录也是文件的一种),如果不指定路径, ...

  6. 每天一个linux命令(1):ls命令

    介绍 ls命令是linux下最常用的命令.ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单. 通过ls 命令不仅可以查看l ...

  7. 【每天一个 Linux 命令】Linux命令ls和cp

    ls(英文全拼:list files)命令用于显示文件目录列表,和Windows系统下DOS命令dir类似.当执行ls命令时,默认显示的只有非隐藏文件的文件名.以文件名进行排序及文件名代表的颜色显示. ...

  8. 一分钟学一个 Linux 命令 - ls

    前言 大家好,我是 god23bin.今天我给大家带来的是 Linux 命令系列,每天只需一分钟,记住一个 Linux 命令不成问题.今天,我们要介绍的是一个常用而又强大的命令:ls(list). 什 ...

  9. golang实现一个linux命令ls命令(命令行工具构建)

    希望2023可以听到这些话: 恭喜你得到了这份工作 恭喜你的建议被采用了 恭喜你被录取了 恭喜你的考试顺利通过了 恭喜你上岸了 恭喜你升职了 恭喜你加薪了 恭喜你体检结果一切正常 在这篇文章下面许个愿 ...

最新文章

  1. CRC校验和芯片ID
  2. 【Anychat音视频开发】相对路径与绝对路径详解
  3. 用位操作代替求余操作
  4. android平板交互,安卓平板就应该如此,华为MatePad Pro 交互体验
  5. 7-13 简单计算器 (25 分)
  6. WPF仿网易云音乐系列(二、歌单创建窗口+登录设置模块)
  7. matlab钢材切割,一种基于MATLAB的钢材裂纹扩展速率试验数据处理方法
  8. delphixe10linux,减小Delphi XE 以上版 编译出来的程序体积
  9. java gc_Java GC的那些事(1)
  10. Shell 获取本月最后一天
  11. “WebProxyWrapper”的对象强制转换为类型“System.Net.WebProxy
  12. spring boot项目使用ojdbc8连接oracle 12c(12.2.0.1.0),解决启动极慢问题!
  13. gb2312中的英文字母占几个字节?
  14. 专业计算机基础教学,计算机基础教学计划
  15. 计算机组成原理DROM,最新版 计算机组成原理试题及答案a
  16. vim /etc/hostname1输入命令后进入到以下界面。
  17. Docker迁移JIRA
  18. 创业如何解决资金不足的问题
  19. 洪大师 php,中国象棋大师网——洪磊鑫大师象棋系统讲座
  20. 近期做题遇到的小问题与小套路

热门文章

  1. 利用Github+Jeklly搭建个人博客网站
  2. 正则表达式匹配单个字符(.、[]、\d、\D、\s、\S、\w、\W)
  3. 汇编语言 循环让字符串中的字母变成大写
  4. 网络工程师_域名知识点
  5. 数据可视化:Matplotlib vs ggplot2
  6. 彩色图像到灰度转换 常见方法汇总与对比
  7. 笔记 | PyTorch张量Tensor的一些必备操作
  8. Mac下pycharm如何安装pytorch
  9. 监控利器Zabbix之主动模式和被动模式
  10. SFB 项目经验-65-使用域管理员安装不了Exchange 2010 SP3 CU21