本文首发于:微信公众号「运维之美」,公众号 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. python对数据去重处理

    我们在数据处理时,经常需要用到对重复数据进行过滤处理.  对数据去重有两种处理方式,如下: 1.对重复数据去重,并且会自动排序 使用函数  set # 列表去重 list_a = [6, 6, 5, ...

  2. 章节十五、5-记录日志---Log4j

    一.为什么要用Log4j记录日志? 日志记录对于任何应用程序都非常重要. 它可以帮助我们快速调试代码,通过收集代码执行的信息让代码容易维护. 二.Log4j 是什么? Apache为Java提供的日志 ...

  3. Java内存模型的基础

    Java内存模型的基础 并发编程模型的两个关键问题 在并发编程中,需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体).通信是指线程之间以何种机制来交换信息.在 ...

  4. spark shuffle的写操作之准备工作

    前言 在前三篇文章中,spark 源码分析之十九 -- DAG的生成和Stage的划分 剖析了DAG的构建和Stage的划分,spark 源码分析之二十 -- Stage的提交 剖析了TaskSet任 ...

  5. (15)ASP.NET Core Web主机(IWebHostBuilder)

    1.前言 ASP.NET Core应用程序可以配置和启动主机(Host).主机负责应用程序启动和生存期管理,配置服务器和请求处理管道.主机还可以设置日志记录.依赖关系注入和配置.而host主机又包括W ...

  6. ZDog:简单便捷好玩的的3D设计和动画制作库

    各位老铁,我灰太狼又又又回来了,嘿嘿!!!!最近在忙所以有日子没写博客了,今天带大家看个好玩的东西 这个东西是今天偶尔看到的,是啥呢,难道是漂亮的小姐姐吗?当然是......不可能的了,这个东西其实就 ...

  7. java学习中碰到的疑惑和解答(二)

    路径问题是一个在平时学习和开发碰到的常见问题,对于初学者是一个比较值得研究的东西.因此对路径问题进行总结. 1. 编写路径为了告诉编译器如何找到其他资源.   2. 路径分类: 相对路径:从当前资源出 ...

  8. alluxio源码解析-层次化存储(4)

    层次化存储-特性介绍: https://www.alluxio.org/docs/1.6/cn/Tiered-Storage-on-Alluxio.html 引入分层存储后,Alluxio管理的数据块 ...

  9. curl工具使用实例

    curl是一个命令行工具,其基于libcurl库,用于发送网络请求,获取并展示响应数据,下面来看curl的具体用法. 1.下载网页源码 curl命令直接接URL,用于下载指定URL的网页源码,并将其显 ...

  10. Cookie&Session

    Cookie&Session 背景:Cookie和Session的原理.作用及如何设置和相关面试. 一.诞生背景 HTTP是无状态的,即服务器无法知道两个请求是否来自同一个浏览器,也就是服务器 ...