目錄
??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