做什么
把目录用树形结构打印出来——比 ls -R 直观得多。
sudo apt install tree
常用参数
| 参数 | 含义 |
|---|---|
-L N |
限制深度 N 层 |
-d |
只显示目录 |
-a |
显示隐藏文件 |
-f |
显示完整路径 |
-h |
人类友好大小 |
-s |
显示文件大小 |
--filelimit N |
文件数超 N 的目录折叠 |
-I "pattern" |
排除匹配的(如 node_modules) |
-P "pattern" |
仅显示匹配的 |
--gitignore |
用 .gitignore 排除 |
实战
tree # 当前目录全树
tree -L 2 # 只看 2 层深
tree -d # 只看目录
tree -L 2 -I 'node_modules|.git' # 排除常见目录
tree /etc/nginx # 看某目录的结构
tree --gitignore # 按 .gitignore 排除
tree -h --du # 显示大小(du 风格汇总)
配 grep 用
# 看 Python 项目里所有的 .py 树
tree -L 3 -P "*.py" --prune
没装 tree 怎么办
find . | sed -e "s/[^-][^\/]*\// /g" -e "s/^ //" -e "s/-/|/"
但这远不如 tree 优雅——生产服务器通常没装 tree,去 apt install 一下值得。