tree

2018/03/26 posted in  杂项
brew install tree
# 指定显示目录
$ tree -d ./src
# 指定显示深度
$ tree -d ./src -L 3
# 忽略文件
tree -I 'node_modules|dist'
# 匹配文件
tree -P 'src'
# 中文乱码
tree -N

命令说明:

-------清单选项-------
-a              列出所有文件。
-d              仅列出目录。
-l              遵循目录等符号链接。
-f              打印每个文件的完整路径前缀。
-x              仅保留在当前文件系统上。
-L level        级下降深层级目录。
-R              达到最高等级时重新运行树。
-P pattern      仅列出与给定模式相匹配的文件。
-I pattern      不要列出与给定模式匹配的文件。
--ignore-case   模式匹配时忽略大小写。
--matchdirs     在-P模式匹配中包含目录名称。
--noreport      关闭树列表末尾的文件/目录计数。
--charset X     使用字符集X作为终端/ HTML和缩进行输出。
--filelimit #   不要下载超过#个文件的dirs。
--timefmt <f>    根据格式<f>打印和格式化时间。
-o filename      输出到文件而不是标准输出。

--------文件选项---------

-q              将不可打印的字符打印为'?'。
-N              按原样打印不可打印的字符。
-Q              用双引号引用文件名。
-p              打印每个文件的保护。
-u              显示文件所有者或UID号码。
-g              显示文件组所有者或GID号码。
-s              打印每个文件的字节大小。
-h              以更易读的方式打印尺寸。
--si            像-h,但在国际单位制中使用(幂数为1000)。
-D              打印上次修改日期或(-c)状态更改。
-F              附加'/','=','*','@','|'或'>'按照ls -F。
--inodes        打印每个文件的inode编号。
--device        打印每个文件所属的设备ID号。

-------排序选项-------

-v              按文本字母数字排序文件。
-t              按上次修改时间对文件进行排序。
-c              按上次状态更改时间对文件进行排序。
-U              保留文件未排序。
-r              反转排序的顺序。
--dirsfirst     列出文件之前的目录(-U禁用)。
--sort X        选择排序:名称,版本,大小,mtime,ctime。

-------图形选项------

-i              不要打印缩进线。
-A              打印ANSI线图形缩进线。
-S              使用CP437(控制台)图形缩进线打印。
-n              始终关闭着色(-C覆盖)。
-C              总是打开彩色。

------- XML / HTML / JSON选项-------

-X              打印树的XML表示。
-J              打印出树的JSON表示。
-H baseHREF     以baseHREF作为顶层目录打印HTML格式。
-T string       用字符串替换默认的HTML标题和H1标题。
--nolinks       关闭HTML输出中的超链接。

----其他选项----

--version       打印版本并退出。
--help          打印使用情况和此帮助信息并退出。
--              选项处理终止符。