指令對照表
| 指令 | 主要功能 | 典型場景 |
| df | 檔案系統整體磁碟使用量 | 快速查看剩餘空間、掛載點 |
| du | 目錄/檔案實際佔用空間 | 尋找大檔案、清理空間 |
| fdisk | MBR 分區表操作 | 建立、刪除、調整分區 |
| mkfs | 建立檔案系統(格式化) | 新分區初始化、檔案系統轉換 |
| fsck | 檢查修復檔案系統 | 非正常關機後、磁碟錯誤排查 |
df — 磁碟空間總覽
常用參數
df -h # 人類可讀單位 (K/M/G)
df -T # 顯示檔案系統類型
df -i # 以 inode 數量顯示
df -a # 包含虛擬檔案系統 (/proc, /sys 等)
實戰範例
# 查看根分區使用情況
df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 50G 20G 28G 42% /
# 查看所有 ext4/xfs 分區
df -hT | grep -E 'ext4|xfs'
du — 目錄大小深度分析
常用參數
du -h # 可讀單位
du -s # 僅顯示總計
du -a # 包含檔案
du --max-depth=1 # 僅顯示第一層子目錄大小
實戰範例
# 找出 /var 下前 10 大目錄
du -h --max-depth=1 /var | sort -hr | head -10
# 找出超過 100M 的檔案
find /home -type f -size +100M -exec du -h {} \;
fdisk — 分區操作
查看分區表
fdisk -l /dev/sdb
互動式建立分區
fdisk /dev/sdb
# 依序輸入:n (新增) → p (主分區) → 1 (編號) → Enter (起始) → +20G (大小) → t (類型) → 8e (LVM) → w (寫入)
mkfs — 格式化分區
常用檔案系統
mkfs.ext4 /dev/sdb1 # Ext4(通用、日誌)
mkfs.xfs /dev/sdb1 # XFS(高效能、大檔案)
mkfs.vfat /dev/sdb1 # FAT32(相容性)
mkswap /dev/sdb2 # Swap 區
進階參數
# Ext4 指定區塊大小、inode 比例
mkfs.ext4 -b 4096 -i 16384 /dev/sdb1
# XFS 指定條帶單元(RAID 優化)
mkfs.xfs -d su=64k,sw=4 /dev/sdb1
fsck — 檢查修復
自動修復(非互動)
fsck -y /dev/sdb1 # -y 自動回答 yes
fsck -a /dev/sdb1 # -a 自動修復(較保守)
指定檔案系統類型
fsck -t ext4 /dev/sdb1
fsck -t xfs /dev/sdb1 # XFS 實際使用 xfs_repair
注意事項
- 必須在未掛載或唯讀掛載狀態下執行
- 根分區修復需進入單用戶模式或救援模式
- XFS 不支援
fsck,請用 xfs_repair
- 執行前建議備份重要資料
綜合排查流程
# 1. 發現磁碟空間不足
df -h
# 2. 定位大目錄
du -h --max-depth=1 / | sort -hr | head
# 3. 深入分析
du -h /var/log | sort -hr | head -20
# 4. 清理或擴充
# 若為 LVM 可線上擴充
lvextend -L +10G /dev/vg/root
resize2fs /dev/vg/root
# 5. 定期檢查排程
echo '0 3 * * 0 root fsck -a /dev/sdb1' >> /etc/crontab