本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux。
「运维之美」是一个有情怀、有态度,专注于 Linux 运维相关技术文章分享的公众号。公众号致力于为广大运维工作者分享各类技术文章和发布最前沿的科技信息。公众号的核心理念是:分享,我们认为只有分享才能使我们的团体更强大。如果你想第一时间获取最新技术文章,欢迎关注我们!
公众号作者 Mike,一个月薪 3000 的杂工。从事 IT 相关工作 15+ 年,热衷于互联网技术领域,认同开源文化,对运维相关技术有自己独特的见解。很愿意将自己积累的经验、心得、技能与大家分享交流,篇篇干货不要错过哟。如果你想联系到我,可关注公众号获取相关信息。
相信每个使用 Linux
的用户都使用过 ls
命令,其主要作用就是用于展示当前目录或者文件列表。但 ls
这个古老的高频使用命令存在一些使用上的问题,比如:1. 输出界面不是很友好。2. 目录下文件过多的情况下,输出结果会比较慢。
今天我们将给大家介绍一个更好用的文件目录列表工具 exa
,exa
官方是这样介绍的:
exa is a modern replacement for ls.
顾名思义 exa
是一个用来替代 ls
的工具, exa
相比于 ls
增加了很多新的特性,比如:支持不同文件类型可以用不同颜色来展示、exa
比 ls
速度更快一些等。
项目地址: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
一样。
下面我们来看几个常用的例子:
- 一行只输出一个结果
$ exa -1
- 输出结果并显示详细信息
$ exa -l
- 递归显示当然目录的所有文件
输出结果的顺序为:先显示当前文件夹的,再递归显示每个子文件夹中的文件。
$ exa -R
- 以目录树结构显示目录下所有文件
$ exa -T
- 以网格方式排序
$ exa -x
当然 exa
的功能远不止这些,如果你对它有兴趣可以去官网探索更多用法哟。