目录
1. 下载与准备 tree 工具
2. 集成 tree 到 Git Bash 环境
3. tree 命令基础用法详解
4. 使用示例
在软件开发和文件管理中,清晰的目录结构可视化是提高效率的重要手段。tree命令作为 UNIX/Linux 系统的标准工具,能以树形结构递归展示目录内容,而 Windows 环境默认不包含该工具。对于使用 Git Bash 的开发者而言,集成tree.exe可以无缝获得类似 Linux 的目录查看体验。本文将详细介绍如何下载、集成并高效使用tree命令。
1. 下载与准备 tree 工具
1.1 Git 工具下载安装
Git 官网: https://git-scm.com/downloads/win
- 安装完成后,将 Git\usr\bin 、Git\mingw64\bin 、Git\cmd 添加到系统 PATH;
- 打开环境变量设置(Windows 10):右键 “此电脑"→"属性"→"高级系统设置"→"环境变量”;
- 在系统变量中找到PATH,点击 “编辑"→"新建”,添加路径;
验证安装:
- 右键–> Open Git Bash Here -->打开 Git Bash,输入 git --version,应显示版本信息:
git --version
# 显示 git version 2.50.0.windows.1
1.2 tree.exe 下载安装
Tree for Windows: https://gnuwin32.sourceforge.net/packages/tree.htm
Tree 安装包
- 运行安装包,将 tree.exe 解压到自定义目录(如D:\tree);
- 解压后目录结构示例:
D:\tree\GnuWin32GnuWin32
|-- bin
|-- contrib
|-- doc
|-- man
|-- manifest
`-- uninstall
2. 集成 tree 到 Git Bash 环境
- 将 GnuWin32GnuWin32\bin\tree.exe 拷贝到 Git\usr\bin 目录下;
- 验证安装:
# 任意位置,右键--> Open Git Bash Here -->打开 Git Bash,输入如下命令:
tree --version
# 应显示版本信息:
# tree v1.5.2.2 (c) 1996 - 2009 by Steve Baker, Thomas Moore, Francesc Rocher, Kyosuke Tokoro
3. tree 命令基础用法详解
3.1 显示当前目录结构
# 递归显示当前目录所有子目录及文件
tree
# 示例输出:
.
├── 001-docs
│ ├── design.md
│ └── requirements.txt
├── 002-src
│ ├── main.c
│ ├── utils.h
│ └── Makefile
└── 003-resources
├── image.png
└── data.csv
# 只显示 002-src 目录
tree 002-src
# 示例输出:
002-src
├── main.c
├── utils.h
└── Makefile
3.2 命令参数
参数 | 全称 | 功能描述 | 示例 |
---|---|---|---|
-a | –all | 显示所有文件(包括隐藏文件) | tree -a |
-A | 使用ASCII线连接目录结构 | tree -A | |
-C | 高亮彩色输出(需要终端支持) | tree -C | |
-d | –dirsfirst | 目录优先显示(只显示目录) | tree -d |
-D | 显示日期时间 | tree -D | |
-f | –full-path | 显示完整路径(含当前路径) | tree -f |
-F | 在文件名后添加标识符(/ 表示目录,* 表示可执行文件等) |
tree -F | |
-g | –group | 显示文件所属用户组 | tree -g |
-h | –human-readable | 以易读格式显示文件大小(如KB/MB) | tree -h |
-i | –indentation | 禁用缩进符号(仅显示空白字符) | tree -i |
-I | –ignore | 忽略匹配模式的文件/目录(支持通配符) | tree -I “*.tmp” |
-l | 显示链接指向的实际路径 | tree -l | |
-L | –level | 限制显示层级(数字表示层级数) | tree -L 2 |
-n | 关闭颜色显示 | tree -n | |
-o | –output | 将输出保存到指定文件 | tree -o dir_list.txt |
-p | –permissions | 显示文件权限(如-rw-r–r–) | tree -p |
-P | –pattern | 仅显示匹配模式的文件/目录(支持通配符) | tree -P “*.md” |
-q | 隐藏不可打印字符(如换行符) | tree -q | |
-r | 反向排序(默认按字母顺序) | tree -r | |
-s | –size | 显示文件大小(以字节为单位) | tree -s |
-t | 按修改时间排序(最新文件在前) | tree -t | |
-u | –user | 显示文件所属用户 | tree -u |
-v | 按版本号排序(适用于带版本号的文件名) | tree -v | |
-x | 严格限制在当前文件系统(不跨文件系统显示) | tree -x | |
–charset | 设置输出字符编码(如UTF-8) | tree --charset=UTF-8 | |
–du | 显示目录磁盘使用情况 | tree --du | |
–inodes | 显示文件的inode编号 | tree --inodes | |
–prune | 隐藏空子目录 | tree --prune | |
–timefmt | 自定义时间格式(如–timefmt=%Y-%m-%d) | tree --timefmt=%Y-%m-%d | |
–version | 显示版本信息 | tree --version | |
–help | 显示帮助信息 | tree --help |
4. 使用示例
4.1 显示3级项目结构(忽略 node_modules 和 .git 目录)
tree -L 3 -I "node_modules|.git"
4.2 查看文件详细信息(权限、大小、时间)
tree -p -h -D
4.3 保存目录结构到文件
tree -o project_structure.txt
4.4 显示当前目录下项目结构的详细信息
tree -a -h -p -u -D -g
4.5 对当前目录下的 001-docs ,显示 3级目录包括隐藏文件 ,排除 .txt 文件 ,使用ASCII线连接目录结构,目录结构输出到 tree.txt
tree 001-docs -a -F -A -L 3 -I "*.txt" -o tree.txt