tree — 以樹狀圖顯示目錄結構

以縮排樹狀圖顯示目錄的層級結構與所有檔案。

語法

tree [選項] [目錄...]

常用選項

選項 說明 範例
-L N 只顯示到第 N 層深度 tree -L 2 /etc/
-d 只顯示目錄,不顯示檔案 tree -d ./project/
-a 顯示所有檔案(含隱藏檔) tree -a ~/
-I 樣式 排除符合樣式的檔案/目錄 tree -I "node_modules|.git"
-h 以人類可讀格式顯示檔案大小 tree -h ./
-s 顯示每個檔案的大小 tree -s ./
--du 顯示目錄的累計大小 tree --du -h ./
-f 顯示完整路徑 tree -f ./
-o 輸出檔 輸出到指定檔案 tree -L 3 . -o structure.txt

使用範例

範例 1:顯示當前目錄結構

最基本的用法,顯示當前目錄的完整樹狀結構。

$ tree
.
├── README.md
├── src
│   ├── main.py
│   └── utils.py
└── tests
    └── test_main.py

2 directories, 3 files
範例 2:只顯示前兩層

大型專案只看前幾層,避免輸出太多。

$ tree -L 2 /etc/
/etc/
├── apt
│   ├── apt.conf.d
│   └── sources.list
├── nginx
│   ├── nginx.conf
│   └── sites-enabled
└── ...
範例 3:排除指定目錄

排除 node_modules 和 .git,只顯示有意義的專案結構。

$ tree -I "node_modules|.git|__pycache__" -L 3
範例 4:只顯示目錄結構

使用 -d 只顯示目錄,常用於說明文件的目錄結構圖。

$ tree -d -L 3 ./webapp/
webapp/
├── frontend
│   ├── src
│   └── public
└── backend
    ├── api
    └── models

常見錯誤與排錯

tree: command not found
原因
tree 未預設安裝。
解法
sudo apt install tree(Debian/Ubuntu),或 sudo yum install tree(CentOS)。

延伸閱讀