技術文章 · IT 指令工具箱

Linux 磁碟空間指令:df、du、lsblk、mount、findmnt

磁碟滿了怎麼查?整理 df、du、lsblk、findmnt、mount、blkid 常用指令,從檔案系統容量一路找到吃空間的目錄與掛載點。

作者 Steve Chen · 發布  · 約 3 分鐘閱讀

IT 指令工具箱 — 廷皓技術專欄插圖

df 看檔案系統整體,du 看目錄實際占用;兩者對不上時,常見原因是已刪除但程序仍開著的檔案、掛載點或 sparse file。

19 組範例LinuxmacOS(部分不同)查核日期:2026-08-11
動手前:掛載、卸載與檔案系統操作會影響服務。這裡以查詢為主;正式主機不要看到滿就直接刪 log,先確認 retention、程序與備份。

看整體容量

看所有檔案系統容量Linux/macOS

df -h

用易讀單位顯示總量、已用與可用。

看 inode 使用率Linux/macOS

df -i

大量小檔可能讓 inode 先用完,即使容量還有。

看指定路徑所在檔案系統Linux/macOS

df -h /var/lib

比看整張表更容易鎖定掛載點。

排除 tmpfs 類型GNU df

df -h -x tmpfs -x devtmpfs

GNU/Linux 常用;macOS 參數不同。

找出哪裡吃空間

看目前目錄總大小Linux/macOS

du -sh .

只給一個摘要。

看下一層每個項目GNU/Linux

du -h --max-depth=1 . | sort -h

macOS 可用 du -hd 1 .。

macOS 看下一層macOS

du -hd 1 . | sort -h

BSD du 使用 -d 指定深度。

找最大的 20 個項目GNU/Linux

du -ah . | sort -h | tail -n 20

大目錄會產生大量 I/O;先限制路徑。

只計算同一檔案系統GNU/Linux

du -xsh /var/*

-x 不跨到其他掛載點。

查看 apparent sizeGNU/Linux

du -sh --apparent-size sparse.img

sparse file 的邏輯大小與實際占用可能差很多。

找已刪除仍被開啟的檔案Linux

lsof +L1

常見於 log 已刪但程序還沒重新開檔;先確認服務再處理。

看磁碟與掛載

列出 block device 與檔案系統Linux

lsblk -f

顯示裝置、UUID、格式與掛載點。

自訂 lsblk 欄位Linux

lsblk -o NAME,SIZE,FSTYPE,FSVER,MOUNTPOINTS

不會修改磁碟。

查看掛載樹Linux

findmnt

比解析 mount 純文字輸出穩定。

查指定掛載點Linux

findmnt /var/lib

顯示來源裝置與掛載參數。

查看裝置 UUIDLinux

blkid

可能需要較高權限才能看到全部裝置。

列出目前掛載Linux/macOS

mount

輸出格式依系統不同。

macOS 看磁碟與分割區macOS

diskutil list

只列出,不進行格式化或修復。

macOS 看 APFS 容器macOS

diskutil apfs list

APFS 的共享空間和一般分割區觀念不同。

怎麼確認有做對

  • df、du、findmnt 三者對同一路徑交叉確認。
  • 清理後再看容量與 inode 是否下降。
  • 服務相關 log 應確認輪替與重新開檔正常。

常見錯誤

  • df 顯示滿就直接刪資料,沒有先找根因。
  • du 掃整顆正式磁碟造成 I/O 壓力。
  • 忽略已刪除但仍開啟的檔案。
  • 把 APFS 可清除空間、snapshot 與一般使用量混為一談。

版本與官方文件

參數會隨工具版本與作業系統實作改變。正式環境先用 --help、-h 或系統內建說明確認,再以當版官方文件為準。

聯絡廷皓討論 看更多文章