--- title: tree:讓目錄結構一目瞭然的可視化利器 tags: [Tool, CLI, Linux, MacOS, Visualization] --- # tree:讓目錄結構一目瞭然的可視化利器 [文章更新時間: 2026-01-23 13:34] ![tree](https://hackmd.io/_uploads/SkoRgH1IZx.jpg) ### 簡介 `tree` 是一款小巧、功能強大的遞歸目錄清單程式。它會以類似樹狀圖(Tree Diagram)的方式,在終端機中列出指定路徑下的所有目錄與檔案。無論是為了整理檔案,還是要在專案的 `README.md` 中展示結構,`tree` 都是開發者的首選工具。 ### 優點 * **極致輕量**:幾乎不佔用系統資源,執行速度極快。 * **高可讀性**:將抽象的檔案層級具象化,一眼看出目錄深度。 * **高度自定義**:支援顯示權限、檔案大小、修改時間,甚至能以 JSON 或 HTML 格式輸出。 * **無依賴性**:在大多數 Linux 發行版中都是標準工具,移植性極佳。 --- ### 安裝步驟 #### **macOS** 在 Mac 上,我們通常使用 **Homebrew** 來安裝: ```bash brew install tree ``` #### **Linux** 根據你使用的發行版,選擇對應的指令: * **Ubuntu / Debian / Kali:** ```bash sudo apt update && sudo apt install tree ``` * **CentOS / RHEL / Fedora:** ```bash sudo yum install tree # 或 sudo dnf install tree ``` * **Arch Linux:** ```bash sudo pacman -S tree ``` --- ### 操作步驟:初次見面 安裝完成後,直接在目錄中輸入 `tree` 即可看到效果: 1. **基本執行**: ```bash tree ``` 這會列出當前目錄下的所有檔案與資料夾(包含子目錄)。 2. **限制深度**: 當目錄太深時,輸出會刷滿整個螢幕。我們通常會限制顯示的層級(例如只看兩層): ```bash tree -L 2 ``` 3. **只顯示目錄**: 如果你只想看架構,不想看到具體的檔案: ```bash tree -d ``` --- ### 使用情境介紹 * **專案文檔撰寫**:在寫專案文檔(README)時,將 `tree` 的結果貼上去,能讓參與者迅速理解專案架構。 * **檔案整理與檢閱**:當你下載了一個大型開源專案,想快速掌握其模組分布時,`tree -L 2` 是你的最佳夥伴。 * **教學示範**:在錄製教學影片或撰寫部落格時,用 `tree` 來呈現檔案存放位置,比起一張張截圖更具「極客感」且清晰。 --- ### 進階用法:Geek 的秘密武器 除了基本操作,`tree` 還有一些非常實用的進階參數: #### 1. 顯示檔案大小與權限 如果你想同時檢查哪些檔案佔用了空間或權限是否有誤: ```bash tree -h -p # -h: 以人類可讀格式顯示大小 (e.g., 1K, 2M) # -p: 顯示檔案權限 (e.g., [drwxr-xr-x]) ``` #### 2. 過濾掉不需要的目錄 (如 node_modules) 在前端開發中,`node_modules` 簡直是 tree 的噩夢。我們可以用 `-I` (Ignore) 來排除它: ```bash tree -I "node_modules|dist|.git" ``` #### 3. 輸出為 HTML 網頁 如果你想把目錄結構分享給非工程師的朋友,甚至可以將其轉為網頁: ```bash tree -H . -o structure.html ``` #### 4. 依照更改時間排序 想知道最近哪些檔案被動過? ```bash tree -t ```