概览

发布于 2026-07-28

选项说明

tree 分为:Listing options、File options、Sorting options、Graphics options、XML/HTML/JSON/HYPERLINK options、Input options、Miscellaneous options

Official Documentation Ubuntu manpages

Listing Options(目录显示)

参数中文说明
-a显示所有文件(包括隐藏文件)
-d仅显示目录
-L <level>限制递归深度
-R递归进入每个达到 -L 限制的目录,并在每个目录再次执行 tree,自动追加 -o 00Tree.html 作为输出文件。参见
-P <pattern>仅显示匹配模式的文件
-I <pattern>忽略匹配模式的文件
--gitignore根据 .gitignore 过滤文件
--gitfile <file>指定 Git Ignore 文件
--ignore-case模式匹配忽略大小写
--matchdirs模式匹配时包含目录名
--prune删除空目录
--filelimit <n>超过指定数量时不继续遍历
--condense将只有一个子目录的路径压缩为一行
-o <file>输出到文件

-R 的实际行为:

tree -L 1 -R
 
# 约等于
# 对于每个达到 L 层的目录:
# cd 到该目录
# tree ... -o 00Tree.html
 
# 会出现
 
project/
├── 00Tree.html
├── src/
│   ├── 00Tree.html
│   ├── foo/
│   │   └── 00Tree.html
│   └── ...
└── docs/
    └── 00Tree.html

用途是生成一个可浏览的 HTML 网站,例如:

tree -H . -L 2 -R
 
# 会得到
00Tree.html
src/00Tree.html
src/foo/00Tree.html
docs/00Tree.html
...

每一页都会链接到下一层,二十多年前,很多 FTP 站点就是这么生成目录索引的,所以这个功能一直保留到了今天。

File Options(文件信息)

参数中文说明
-p显示权限
-u显示文件所有者
-g显示所属用户组
-s显示文件大小(字节)
-h以易读格式显示大小
--si使用 SI 单位(1000)显示大小
--du根据目录内容计算目录大小
-D显示最后修改时间
--timefmt自定义时间格式
-F在文件名后追加类型标记
--inodes显示 inode 编号
--device显示设备 ID

Sorting Options(排序)

参数中文说明
-v按版本号排序
-t按修改时间排序
-c按状态变更时间排序
-U保持原始顺序,不排序
-r反向排序
--dirsfirst目录优先
--filesfirst文件优先
--sort指定排序方式

Graphics Options(显示样式)

参数中文说明
-i不显示树形连接线
-A使用 ANSI 树形字符
-S使用 CP437 树形字符
-n禁用颜色
-C强制启用颜色
--compress压缩缩进宽度

XML / HTML / JSON 输出

参数中文说明
-J输出 JSON
-X输出 XML
-H输出 HTML
-T设置 HTML 标题
--nolinksHTML 中禁用超链接
--hintro指定 HTML 头部模板
--houtro指定 HTML 尾部模板
--hyperlink输出终端 OSC 8 超链接
--scheme设置超链接协议
--authority设置超链接主机名

Input Options(输入)

参数中文说明
--fromfile从文件读取路径
--fromtabfile从制表符缩进文件读取目录树
--fflinks处理 --fromfile 中的链接信息

Miscellaneous(其它)

参数中文说明
--opt-toggle启用选项切换功能
--version显示版本信息
--help显示帮助

常用参数

参数中文常用程度
-a显示隐藏文件⭐⭐⭐⭐⭐
-L限制目录深度⭐⭐⭐⭐⭐
-I排除匹配文件⭐⭐⭐⭐⭐
--gitignore按 .gitignore 过滤⭐⭐⭐⭐
-h易读文件大小⭐⭐⭐⭐
-J输出 JSON⭐⭐⭐
-X输出 XML⭐⭐
--authority设置 OSC 8 主机名⭐