---
# System prepended metadata

title: tree：讓目錄結構一目瞭然的可視化利器
tags: [Tool, Linux, macOS]

---

---
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
```