LinuxMastery By asdlkfj

LinuxMastery 14: 磁碟空間管理 df, du

硬碟空間去哪了?

伺服器運作久了,硬碟空間一定會減少。身為管理員,你需要隨時監控磁碟使用量,並在空間不足時快速找出佔用空間的元兇。

核心指令詳解

  1. df (disk free)

    • 用途:查看檔案系統的整體使用量 (掛載點層級)。
    • 常用參數-h (human-readable),以 GB, MB 顯示。
    • 範例
      df -h
      
      輸出會顯示 /, /boot, /var 等分割區的 Used 和 Avail 空間。如果 Use% 接近 100%,就要警覺了。
  2. du (disk usage)

    • 用途:查看個別目錄或檔案佔用的空間。
    • 常用參數
      • -s (summary):只顯示總計,不列出子目錄細節。
      • -h:人類可讀格式。
    • 範例
      # 檢查當前目錄下每個資料夾的大小
      du -sh *
      

實戰心法

df -h 顯示根目錄滿了,排查步驟如下:

  1. cd /
  2. 執行 du -sh *,找出哪個第一層目錄最大 (通常是 /var/usr)。
  3. 進入該目錄 (例如 cd /var),再次執行 du -sh *
  4. 重複此步驟,直到找到元兇 (通常是 /var/log 下的巨大 Log 檔,或是 /var/lib/mysql 下的資料庫檔)。

注意:如果刪除了大檔案但 df 顯示空間沒釋放,通常是因為該檔案正被某個進程開啟中。重啟該服務 (如 systemctl restart nginx) 即可釋放空間。