Skip to content

Duc

高效能磁碟用量分析工具

軟體分類 系統管理 / 磁碟分析
軟體標籤
KVMSSH二維條碼
開發廠商 Iulius Curt (zevv)
Stars
676
Forks
82
License
GNU GPL V2
Version
v1.4.5
Update
2026-01-12
OS

產品說明

Duc 是一款專為處理海量檔案系統(Filesystems with millions of files)設計的磁碟使用量分析工具。與傳統的 duncdu 不同,Duc 不會每次都重新掃描整個硬碟,而是將磁碟使用資訊建立索引並儲存在一個高效能的資料庫中。

這意味著一旦索引建立完成,您就可以瞬間查詢任何目錄的大小,甚至繪製出精美的圖表,而無需再次經歷漫長的掃描等待。Duc 提供了多種操作介面,包括傳統的命令列工具(CLI)、類似 ncdu 的文字圖形介面(Ncurses UI),以及絢麗的圖形化介面(OpenGL GUI),能以「陽光放射圖 (Sunburst Graph)」直觀地顯示檔案佔用情形。

核心特色:

  • 資料庫索引:採用高效能的鍵值資料庫(如 Tokyo Cabinet, LevelDB 或 SQLite)儲存目錄結構,極大幅度提升再次查詢的速度。
  • 多樣化介面:同時支援適合伺服器的 CLI/TUI 模式,以及適合桌面的 GUI 視覺化模式。
  • 視覺化圖表:支援繪製 Sunburst(放射狀)圖表,讓深層目錄的佔用情況一目了然。
  • 極高擴展性:專為 PB 級別的儲存系統與數億個檔案設計,不會像傳統工具那樣在掃描大型儲存設備時卡頓或崩潰。

常用指令

Duc 的操作邏輯分為「建立索引」與「查詢/檢視」兩個階段。

1. 建立索引 (Index)

在使用 Duc 之前,必須先針對目標目錄建立索引資料庫。

# 建立 /usr 目錄的索引,並將資料庫儲存在預設位置 (~/.duc.db)
duc index /usr

# 建立整個根目錄的索引,並排除不需要掃描的掛載點 (如 /proc, /sys)
duc index --exclude=/proc --exclude=/sys /
參數選項功能說明範例
index執行索引建立動作duc index /home
--database指定資料庫檔案路徑duc index --database=/var/cache/duc.db /usr
--exclude排除特定目錄--exclude=/tmp
--progress顯示索引建立進度(無數值)

2. 檢視與查詢 (Visualize & Query)

索引建立後,即可使用以下指令進行快速查詢或視覺化。

# 使用文字圖形介面 (TUI) 瀏覽,操作方式類似 ncdu (適合 SSH 連線)
duc ui /usr

# 使用圖形化介面 (GUI) 顯示放射狀圖表 (需要桌面環境支援)
duc gui /usr

# 使用命令列直接列出前 5 大佔用空間的目錄
duc ls -Fg /usr | head -n 5

進階技巧 (CGI 網頁模式)
Duc 甚至包含了一個 CGI wrapper,讓您可以將它部署在網頁伺服器上,透過瀏覽器遠端查看伺服器的磁碟使用量分佈圖,非常適合用於 NAS 或檔案伺服器的監控看板。


操作介面

下圖展示了 Duc 標誌性的 Sunburst(放射狀)圖表介面,外圈代表子目錄,點擊即可層層深入分析: