欢迎各位兄弟 发布技术文章
这里的技术是共享的
要显示目录的树形结构(包含子目录和文件的层级关系),可以使用 tree
命令。
tree
命令作用:以树状结构可视化目录内容(显示文件和子目录的层级关系)。
安装(若系统未预装):
bash# Ubuntu/Debian sudo apt install tree # CentOS/RHEL sudo yum install tree # macOS(使用 Homebrew) brew install tree
基本用法:
bashtree [选项] [目录]
选项 | 作用 | 示例 |
---|---|---|
-L N | 限制显示的目录深度(N 为层级) | tree -L 2 (只显示2层) |
-d | 仅显示目录(不显示文件) | tree -d |
-a | 显示隐藏文件(. 开头) | tree -a |
-f | 显示完整路径 | tree -f |
-h | 显示文件大小(人类可读格式) | tree -h |
-I "模式" | 忽略匹配的文件/目录(支持通配符) | tree -I "*.log" |
bashtree
输出示例:
.
├── dir1
│ ├── file1.txt
│ └── subdir
├── dir2
│ └── file2.log
└── README.md
(├──
表示分支,└──
表示最后的条目)
bashtree -d
输出:
.
├── dir1
│ └── subdir
└── dir2
bashtree -L 2
bashtree -hf
输出:
.
├── [ 4.0K] ./dir1
│ ├── [ 30] ./dir1/file1.txt
│ └── [ 4.0K] ./dir1/subdir
├── [ 4.0K] ./dir2
│ └── [ 120] ./dir2/file2.log
└── [ 200] ./README.md
tree
命令)如果系统没有 tree
,可用 find
或 ls -R
模拟简易树形结构:
bash# 用 find 实现(显示所有文件) find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g' # 用 ls -R 递归显示 ls -R
(但格式不如 tree
直观)
tree
是显示目录树的最佳工具,直观易读。
通过选项可控制深度、显示文件/目录、忽略特定文件等。
若无 tree
,可临时用 find
或 ls -R
替代。