tree 命令详解
tree 是一个递归列出目录树的命令行工具,比 ls 更直观地显示文件和目录结构。
安装
Debian/Ubuntu
bash
sudo apt update
sudo apt install treemacOS
bash
brew install tree检查是否已安装
bash
tree --version常用参数
基础用法
bash
tree [目录路径]如果省略目录路径,则默认显示当前目录。
显示文件名称
使用 /F 参数,显示每个文件夹中文件的名称,省略目录下的文件。
bash
tree /F使用 ASCII 字符
使用 /A 参数,使用 ASCII 字符而不使用扩展字符。
bash
tree /A显示所有目录
使用 /F 参数时,显示所有目录及目录下的所有文件。
输出到文件
使用重定向将输出保存到文件:
bash
tree /f > tree.txt完整格式说明
TREE【盘符:】【F】【>PRN】- 【盘符:】— 指定盘符(Windows 环境)
- 【F】— 显示文件名称
- 【>PRN】— 打印到打印机(历史遗留参数,一般不使用)
实际例子
查看当前目录结构
bash
tree只显示文件名(不显示目录下内容)
bash
tree /F使用 ASCII 字符并输出到文件
bash
tree /Af > tree.txt只显示目录,不显示文件
bash
tree /d限制显示深度
bash
tree -L 2 # 只显示 2 层按文件大小排序
bash
tree -S -h # 按大小排序,并显示可读的大小单位显示隐藏文件
bash
tree -a # 显示所有文件(包括以 `.` 开头的隐藏文件)高级参数
| 参数 | 说明 |
|---|---|
-L n | 显示深度为 n 的目录结构 |
-d | 只显示目录 |
-f | 显示文件路径 |
-F | 显示文件类型标记(目录后加 /,可执行文件后加 *) |
-a | 显示隐藏文件 |
-s | 以 ASCII 码显示文件和目录 |
-h | 以可读格式显示文件大小 |
-S | 按文件大小排序 |
-t | 按修改时间排序 |
-r | 随机排序 |
-p | 显示完整路径 |
-x | 保持在当前文件系统中 |
-P pattern | 只显示匹配 pattern 的文件 |
组合使用示例
保存目录结构到文件
bash
tree /f > 文件夹目录树.txt只看目录结构,输出到文件
bash
tree /Af > 目录结构.txt深度 2 层,显示完整路径
bash
tree -L 2 -p只显示特定扩展名的文件
bash
tree -P "*.md" # 只显示 markdown 文件与其他命令对比
| 命令 | 特点 | 适用场景 |
|---|---|---|
tree | 树形结构,递归显示 | 查看目录整体结构 |
ls | 平铺列表,非递归 | 快速查看当前目录内容 |
find | 按条件查找文件 | 搜索特定文件 |
小贴士
tree输出颜色丰富,方便快速区分文件和目录- 可以与管道结合:
tree | grep "keyword"在目录树中搜索 - 输出可以直接复制到文档中,很方便写技术文档
适用于:Linux、macOS、WSL