tree命令以树状结构直观展示linux目录层级,支持-l限制深度、-i过滤冗余目录、-d仅显示目录、-a显示隐藏文件、-h人类可读大小、-c彩色输出及-o导出文件等核心功能。

tree 命令是 Linux 运维中快速理清目录层级最直接的工具,它不依赖图形界面,纯终端输出就能把嵌套多层的文件系统结构“画”出来,比反复 cd + ls 高效得多。
基础结构展示与路径控制
默认执行 tree 会从当前目录开始递归展开全部子目录和文件。若需查看特定路径(如系统关键目录),直接指定即可:
- tree /etc —— 快速浏览配置中心的组织方式
- tree -L 2 /var/log —— 限制两层深度,避免日志子目录过多导致刷屏
- tree -f /usr/bin —— 显示每个可执行文件的完整路径,便于确认软链接指向
过滤干扰项,聚焦核心结构
真实系统中常存在大量构建产物、缓存或版本控制目录,它们会淹没真正需要关注的结构。用 -I 参数精准排除:
- tree -I 'node_modules|__pycache__|.git|cache' /opt/myapp —— 多个模式用竖线分隔,跳过常见冗余目录
- tree -d /home —— 加 -d 只看目录骨架,忽略所有文件,适合做权限或归属梳理
- tree -a /root —— 加 -a 强制显示 .bashrc、.ssh 等隐藏配置项,排查环境问题时很关键
增强可读性:权限、大小与颜色
运维常需快速判断文件属性或空间占用,tree 支持叠加多个选项:
- tree -p -s -h /tmp —— 同时显示权限(如 [drwxrwxrwt])、人类可读大小(4.2K / 1.3M)和彩色标识
- tree -C --du /var —— --du 按目录汇总大小(类似 du -sh),-C 保持终端色彩(即使重定向也生效)
- tree -o /tmp/dir-structure.txt —— 输出到文件,方便存档、比对或发给同事复核
应对超深或超大目录的实用技巧
面对源码仓库或容器镜像解压目录这类深度/广度极大的结构,要避免卡顿或信息过载:
- 先用 tree -L 1 | head -20 查看顶层有哪些一级子目录
- 再针对重点目录逐层下钻,例如 tree -L 3 src/ | grep -E '\.(js|ts|go)$' 定位源码分布
- 加 --prune 自动折叠空目录,减少视觉噪音
- 搭配 less 分页:tree /usr/lib | less -R(-R 保留颜色)











