Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 磁碟用量查看神器 du 與 ls 完整參數詳解與實戰範例

編輯:Linux 教學

du 指令:目錄/檔案磁碟佔用分析

常用參數速查

參數說明
-h, --human-readable以 K/M/G 人類可讀單位顯示 (推薦)
-s, --summarize僅顯示總計,不列出子目錄
-a, --all包含檔案與目錄
--max-depth=N只深入 N 層目錄 (0=只顯示該目錄總計)
-c, --total顯示總計
--exclude=PATTERN排除符合樣式的檔案/目錄
-k以 1024 bytes 為單位
-m以 1MB 為單位

實戰範例

# 1. 查看當前目錄各子目錄大小 (人類可讀)
du -h --max-depth=1

# 2. 只看某目錄總大小
du -sh /var/log

# 3. 列出含檔案的完整大小清單
du -ah /home/user

# 4. 找出最大的 10 個目錄/檔案
du -h --max-depth=1 | sort -hr | head -10

# 5. 排除特定目錄
du -h --exclude='*.git' --exclude='node_modules'

# 6. 不換行輸出 (配合其他工具)
du -0h /var/log

ls 指令:檔案屬性與大小檢視

關鍵參數

  • -l:長格式 (權限、擁有者、大小、時間)
  • -h:搭配 -l 以 K/M/G 顯示大小
  • -S:依檔案大小排序
  • -t:依修改時間排序
  • -a:顯示隱藏檔
  • -d:目錄本身而非內容
  • --color=auto:彩色輸出

實用組合

# 長格式 + 人類可讀 + 依大小排序
ls -lhS

# 只列目錄
ls -d */          # 或 ls -F | grep '/$'

# 計算檔案/目錄數量
ls -l | grep '^-' | wc -l   # 檔案數
ls -l | grep '^d' | wc -l   # 目錄數

# 完整時間格式
ls -tl --time-style=full-iso

du vs df 差異解析

指令統計對象特性
du檔案系統層面 (inode 遍歷)不含中繼資料,刪除開啟中檔案即釋放
df區塊層面 (超級區塊/位圖)含中繼資料,開啟中檔案被刪除不釋放,需殺進程

典型情境:/var/spool/clientmqueue 滿載,刪信後 df 未釋放,需 fuser -u /var/spool/clientmqueue 找出並殺掉佔用進程。

快速記憶口訣

du -sh * | sort -h   # 當前目錄各項大小排序
df -h                # 磁碟分區剩餘空間總覽
Copyright © Windows教程網 All Rights Reserved