tree命令需先安装再使用,常用参数包括-d(仅目录)、-a(显示隐藏项)、-l(限制深度)、-i(忽略指定目录)、-o(导出文件)等,配合locale设置可解决中文乱码。

直接运行 tree 命令就能以树状图展示当前目录的完整层级结构,但实际使用中需结合几个关键参数才能清晰、高效、不翻车。
先确认 tree 是否已安装
多数 Linux 发行版默认不带 tree,运行时提示 command not found 就说明还没装:
- Ubuntu/Debian:
sudo apt install tree - CentOS/RHEL 7:
sudo yum install tree - CentOS/RHEL 8+ 或 Fedora:
sudo dnf install tree - Arch/Manjaro:
sudo pacman -S tree
装完务必验证:tree --version 有输出才表示安装成功。
只看干净的目录骨架(不含文件)
项目里文件一多,tree 默认输出就全是文件名,反而看不出目录逻辑。加 -d 可强制只列目录:
-
tree -d:当前目录下纯目录树 -
tree -d -L 2:最多展开两层目录,适合快速扫视整体布局 -
tree -d -I 'node_modules|dist|.git':忽略常见干扰目录(注意用竖线分隔,不能加空格)
控制深度 + 显示隐藏项(开发常用组合)
既不想被深层嵌套刷屏,又不能漏掉 .git、.env 这类关键配置项:
-
tree -a -L 3:显示点开头的隐藏项,且只到第三层,兼顾完整性与可读性 -
tree -a -L 2 /etc:查看系统配置目录时避免陷入/etc/ssl/certs等海量子目录 - 别误用
-d和-a同时出现——-d会过滤所有文件,包括.gitignore,而-a才真正保证“结构完整”
导出结构用于文档或协作
终端显示受限于宽度,长路径会被折行甚至截断。要留档或发给同事,必须导出:
-
tree -a -L 3 -o structure.txt:生成对齐良好的纯文本,推荐用-o而非重定向> -
tree -d -C -o dirs.html -H .:生成带点击展开功能的 HTML 页面(本地打开即可,含配套样式) - 中文路径乱码?先检查
locale | grep UTF-8;若缺失,临时设export LANG=zh_CN.UTF-8,旧版本 tree 可加-N强制 Unicode 支持











