本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux。

「运维之美」是一个有情怀、有态度,专注于 Linux 运维相关技术文章分享的公众号。公众号致力于为广大运维工作者分享各类技术文章和发布最前沿的科技信息。公众号的核心理念是:分享,我们认为只有分享才能使我们的团体更强大。如果你想第一时间获取最新技术文章,欢迎关注我们!

公众号作者 Mike,一个月薪 3000 的杂工。从事 IT 相关工作 15+ 年,热衷于互联网技术领域,认同开源文化,对运维相关技术有自己独特的见解。很愿意将自己积累的经验、心得、技能与大家分享交流,篇篇干货不要错过哟。如果你想联系到我,可关注公众号获取相关信息。


相信每个使用 Linux 的用户都使用过 ls 命令,其主要作用就是用于展示当前目录或者文件列表。但 ls 这个古老的高频使用命令存在一些使用上的问题,比如:1. 输出界面不是很友好。2. 目录下文件过多的情况下,输出结果会比较慢。

今天我们将给大家介绍一个更好用的文件目录列表工具 exaexa 官方是这样介绍的:

exa is a modern replacement for ls.

顾名思义 exa 是一个用来替代 ls 的工具, exa 相比于 ls 增加了很多新的特性,比如:支持不同文件类型可以用不同颜色来展示、exals 速度更快一些等。

项目地址:https://github.com/ogham/exa

安装 exa

exa 是用 Rust 语言实现的,安装前你的系统必须支持 Rust 1.17.0 或更高的版本。exa 目前已经支持了一些常用发行版本通过软件包安装,比如:

  • Fedora
$ sudo dnf install exa
  • Arch
$ sudo pacman -S exa
  • openSUSE
$ sudo zypper install exa
  • macOS
$ brew install exa

如是你使用的发行版暂时不支持通过软件包进行安装,你还可以直接在官方仓库 Releases 页面下载编译好的二进制版本使用。这里以 Linux 系统为例:

# 下载对应二进制版本并解压安装到指定目录
$ wget https://github.com/ogham/exa/releases/download/v0.9.0/exa-linux-x86_64-0.9.0.zip
$ unzip exa-linux-x86_64-0.9.0.zip
$ mv exa-linux-x86_64 /usr/local/bin # 下载并安装对应的 MAN 手册
$ wget https://raw.githubusercontent.com/ogham/exa/master/contrib/man/exa.1
$ mv exa.1 /usr/share/man/man1

使用 exa

exa 使用非常简单,其语法格式为 exa [OPTIONS] [FILES],基本上和 ls 一样。

下面我们来看几个常用的例子:

  1. 一行只输出一个结果
$ exa -1
  1. 输出结果并显示详细信息
$ exa -l
  1. 递归显示当然目录的所有文件

输出结果的顺序为:先显示当前文件夹的,再递归显示每个子文件夹中的文件。

$ exa -R
  1. 以目录树结构显示目录下所有文件
$ exa -T
  1. 以网格方式排序
$ exa -x

当然 exa 的功能远不止这些,如果你对它有兴趣可以去官网探索更多用法哟。

参考文档

  1. https://www.google.com
  2. https://the.exa.website/docs
  3. https://www.jianshu.com/p/bd1e411a2e8d

![](https://img2018.cnblogs.com/blog/1747538/201909/1747538-20190904154757289-1679307473.jpg)

推荐一个比 ls 命令速度快 100 倍的文件目录浏览神器的更多相关文章

  1. 推荐一个 MYSQL 的命令行的客户端 MYCLI

    MYCLI 是一个 MySQL 命令行客户端工具 , 可以实现自动补全(auto-completion)和语法高亮,平时测试环境维护一些数据还是蛮方便的. https://github.com/dbc ...

  2. Hadoop Ls命令添加显示条数限制參数

    前言 在hadoop的FsShell命令中,预计非常多人比較经常使用的就是hadoop fs -ls,-lsr,-cat等等这种与Linux系统中差点儿一致的文件系统相关的命令.可是细致想想,这里还是 ...

  3. Linux用C语言模拟‘ls‘命令

    原理 在linux下使用C语言,通过调用Linux系统的目录访问API来实现一个类似于ls命令功能的小程序,主要是可以练习程序对命令的解析和目录API函数的使用. 实现代码 #include < ...

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

    1. 命令格式: ls [选项] [目录名] 2. 命令功能: 列出目标目录中所有的子目录和文件. 4. 常用范例: 例一:列出/home/peidachang文件夹下的所有文件和目录的详细资料 命令 ...

  5. 每天一个Linux命令(1):ls命令

    转自http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html ls命令是Linux下最常用的命令.ls命令就是list的缩写,缺省下ls ...

  6. 关于 ls 命令的一个小小的缺陷

    linux 的 ls : ls后边加上要显示的路径时:比方 ls /tmp 它会打印一边 /tmp 下的信息 当ls后边跟上多个同样路径的名字是,它会打印多次同样的信息 比方 ls /tmp /tmp ...

  7. 每天一个Linux命令(01)--ls命令

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

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

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

  9. 一个比ack速度快n倍的代码搜索工具: ag

    一个比ack速度快n倍的代码搜索工具:  ag 银搜索者(The Silver Searcher) 一个类似于代码搜索工具ack,着重于速度. Github:   https://github.com ...

随机推荐

  1. 微信小程序设计总结

    微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 小程序提供了一个简单.高效的应用开发框架和丰富的组件及API,帮助开发者在微信中开发具有原生 A ...

  2. <<Modern CMake>> 翻译 2.3 与代码通信

    <<Modern CMake>> 翻译 2.3 与代码通信 配置文件 CMake 允许您使用代码通过 configure_file 存取 CMake 变量. 此命令复制一个文件 ...

  3. Vue中beforeRouterEnter的应用

    一般判断从哪个页面进入时需要判断路由,用到了beforeRouteEnter方法. 注意:在在内部获取不到外部的this,方法.变量等都获取不到.但是vm.XXXXX可以获取到 beforeRoute ...

  4. ruby镜像报错,compass安装报错

    在这几天在电脑上安装compass一直报错,很无语.因为安装的ruby和sass都没有问题,虽然是很久之前安装的.   sass # 更新sass gem update sass   # 检查sass ...

  5. 【iOS】The filename 未命名.ipa in the package contains an invalid character(s)

    提交 APP 到苹果官网审核时遇到了这个问题,如图: 其实就是不支持中文,随便换个英文名就行了. 参考:http://blog.csdn.net/u011439689/article/details/ ...

  6. Kafka服务不可用(宕机)问题踩坑记

    背景 某线上日志收集服务报警,打开域名报502错误码. 收集服务由2台netty HA服务器组成,netty服务器将客户端投递来的protobuf日志解析并发送到kafka,打开其中一个应用的日志,发 ...

  7. RocketMQ中Broker的启动源码分析(二)

    接着上一篇博客  [RocketMQ中Broker的启动源码分析(一)] 在完成准备工作后,调用start方法: public static BrokerController start(Broker ...

  8. 自定义 EditText 样式

    极力推荐文章:欢迎收藏 Android 干货分享 阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以 ...

  9. Robotframework获取移动端toast问题

    背景: 在做移动端自动化测试的时候,经常会遇到一个问题就是获取toast提示问题,如果需要解决这个问题需要重新处理,不能按照正常的逻辑,使用robotframework自带的关键字进行获取,需要重新考 ...

  10. 使用RedisMQ 做一次分布式改造

    引言 熟悉TPL Dataflow博文的朋友可能记得这是个单体程序,使用TPL Dataflow 处理工作流任务, 在使用Docker部署的过程中, 有一个问题一直无法回避: 在单体程序部署的瞬间会有 ...