exa代替ls和tree
前言
exa
是用rust写的一个 ls
命令的替代品.
虽然速度比ls慢一些,但是支持多彩的显示和像tree一样的功能.
在排序上支持默认自然排序.
因此可以考虑用来替换一下ls和tree命令
ls的替代
exa对比ls
- 色彩
- 自然排序
- exa不显示
.
和..
- exa不显示文件夹的大小
- 程序没必要每次显示文件夹下的大小,这样很浪费时间
- ls显示的不是文件夹的实际大小,总是显示4k
- exa自动选择文件大小的单位
ll
1 | ls -lh |
la
1 | ls -a |
lt
1 | ls -lhtr |
但是注意有时 ls -tr | cat
和 exa --sort=modified -1
的输出不同
此时应参考 ls -ltr
或 exa -l --sort=modified
的结果.
tree的替代
tree的某些选项其实和ls重复,比如 -a
,
tree的某些功能和ls重复,
- 比如
-p
显示文件权限, -f
显示文件完整路径.
但tree可以匹配需要显示的文件或定制输出成json等格式.
exa对比tree
- exa默认不显示统计
- exa文件名基本不会乱码
- 不需要像tree -N | iconv -f xxx -t utf8
- exa好像没有复杂的输出功能
- 显示统计信息
- 导出到json或xml
- 根据文件数量决定是否打开文件夹
- exa也没有tree快
基础使用
1 | tree --no-report |
只显示文件夹
1 | tree -d |
定义最大深度
1 | tree -L 1 |