df 指令:用 -h、-T、-i 選項查看磁碟使用量

測試環境RHEL 系列AlmaLinux 9.8coreutils 8.32root 帳號Debian 12 · coreutils 9.1 一般帳號2026-10-29 確認
磁碟 · 掛載指令df位置/usr/bin/df

df 指令是 Linux 指令,會為每個已掛載的檔案系統各輸出一行總容量、已用空間、可用空間與使用率。在 AlmaLinux 9 伺服器和 Debian 12 伺服器上替 df 逐一加上 -h、-T、-i、--output、-x 選項比較輸出後,磁碟容量改看 Use% 欄,檔案數量上限改看 df -i 的 IUse% 欄,分開確認。

AlmaLinux 9.8 伺服器的輸出中,裝置名稱、磁碟容量,以及依記憶體大小而定的 tmpfs 容量與使用量,都換成了彼此一致的範例值,只存在於那台伺服器的掛載行也已刪除。指令中寫的資料夾路徑同樣是範例值,Debian 12 伺服器的輸出則照原樣列出。

1️⃣ Linux df 指令用法

  • ↪️ 六個輸出欄位與 Use% 的計算

基本格式是 [df 選項 檔案]。不寫檔案時會輸出所有已掛載的檔案系統,不加選項時以 1,024 位元組的區塊數表示容量。

df
Filesystem     1K-blocks     Used Available Use% Mounted on
devtmpfs         1890316        0   1890316   0% /dev
tmpfs            1921072        0   1921072   0% /dev/shm
tmpfs             768432    17104    751328   3% /run
efivarfs             128        4       120   4% /sys/firmware/efi/efivars
/dev/sda4       52403180 10265000  42138180  20% /
/dev/sda3         983040   319488    663552  33% /boot
/dev/sda2         204580     7116    197464   4% /boot/efi
tmpfs             384212        4    384208   1% /run/user/0

輸出共六欄,各欄內容如下表。

欄位內容
Filesystem裝置名稱或檔案系統名稱(tmpfs 等)
1K-blocks總容量(1,024 位元組區塊數)· 加 -h 時為 Size
Used已用容量
Available可用容量 · 加 -h 時為 Avail
Use%使用率 · Used ÷ (Used + Available) 無條件進位
Mounted on掛載點(檔案系統所連接的資料夾)

把裝置連接到資料夾的作業就是 磁碟掛載,若要每次開機自動連接,就寫進 /etc/fstab。

逐行計算 AlmaLinux 9.8 伺服器的輸出後,Use% 等於 Used 除以 Used 與 Available 之和再無條件進位的數字。上方輸出中的根目錄(/),10265000 除以 52403180 得 19.6%,顯示為 20%。

df 收錄在 coreutils 套件中。版本以 [df --version] 的第一行確認,AlmaLinux 9.8 伺服器是 coreutils 8.32,Debian 12 伺服器是 9.1。

df --version | head -n 1
df (GNU coreutils) 8.32
df --version | head -n 1
df (GNU coreutils) 9.1

2️⃣ df -h 選項

  • ↪️ 易讀的單位與只看單一路徑

-h 會以 1,024 為單位歸併容量,並加上 K、M、G 輸出。

df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           751M   17M  734M   3% /run
efivarfs        128K  3.8K  120K   4% /sys/firmware/efi/efivars
/dev/sda4        50G  9.8G   41G  20% /
/dev/sda3       960M  312M  648M  33% /boot
/dev/sda2       200M  7.0M  193M   4% /boot/efi
tmpfs           376M  4.0K  376M   1% /run/user/0

根目錄(/)的 1K 區塊 52403180 變成 50G,已用的 10265000 變成 9.8G。數字是無條件進位後的值,小於 10 時像 9.8G 一樣保留一位小數,10 以上則像 50G 一樣以整數顯示。

-H 以 1,000 而不是 1,024 為單位歸併。

df -H
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        2.0G     0  2.0G   0% /dev
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           787M   18M  770M   3% /run
efivarfs        132k  3.9k  123k   4% /sys/firmware/efi/efivars
/dev/sda4        54G   11G   44G  20% /
/dev/sda3       1.1G  328M  680M  33% /boot
/dev/sda2       210M  7.3M  203M   4% /boot/efi
tmpfs           394M  4.1k  394M   1% /run/user/0

同一個根目錄在 -H 下顯示為 54G,數字比 -h 大,千位單位也變成小寫 k,例如 132k。

寫入檔案或資料夾時,只會輸出包含該路徑的檔案系統那一行。

df -h /root/work
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda4        50G  9.8G   41G  20% /

/root/work 是位在根目錄(/)中的資料夾,所以出現 /dev/sda4 那一行。每個資料夾佔用的容量則用 du 指令來加總。

在 Debian 12 伺服器上用一般帳號寫入家目錄(~)時,只出現 /dev/vda2 一行,使用率為 52%。

df -h ~
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda2        23G   12G   11G  52% /

3️⃣ df -T 檔案系統類型

  • ↪️ 用 -t 與 -x 篩選類型

-T 會在 Filesystem 後加上 Type 欄,輸出檔案系統類型。

df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs          tmpfs     1.9G     0  1.9G   0% /dev/shm
tmpfs          tmpfs     751M   17M  734M   3% /run
efivarfs       efivarfs  128K  3.8K  120K   4% /sys/firmware/efi/efivars
/dev/sda4      xfs        50G  9.8G   41G  20% /
/dev/sda3      xfs       960M  312M  648M  33% /boot
/dev/sda2      vfat      200M  7.0M  193M   4% /boot/efi
tmpfs          tmpfs     376M  4.0K  376M   1% /run/user/0

磁碟分割區 /dev/sda4 與 /dev/sda3 是 xfs,/boot/efi 是 vfat。tmpfs 與 devtmpfs 是使用記憶體而非磁碟的檔案系統。

Debian 12 伺服器的根目錄是 ext4。

df -hT ~
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/vda2      ext4   23G   12G   11G  52% /

-t 只留下指定的類型,-x 則排除指定的類型後輸出。

df -t xfs -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda4        50G  9.8G   41G  20% /
/dev/sda3       960M  312M  648M  33% /boot

以 -t xfs 執行後,只剩下兩行 xfs。

df -x tmpfs -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        1.9G     0  1.9G   0% /dev
efivarfs        128K  3.8K  120K   4% /sys/firmware/efi/efivars
/dev/sda4        50G  9.8G   41G  20% /
/dev/sda3       960M  312M  648M  33% /boot
/dev/sda2       200M  7.0M  193M   4% /boot/efi

-x tmpfs 排除了三行 tmpfs,名稱相近的 devtmpfs 則仍然保留。只有類型名稱完全相同的行才會被排除,所以若要連 devtmpfs 一起排除,就再寫一次 -x。

df -x tmpfs -x devtmpfs -h
Filesystem      Size  Used Avail Use% Mounted on
efivarfs        128K  3.8K  120K   4% /sys/firmware/efi/efivars
/dev/sda4        50G  9.8G   41G  20% /
/dev/sda3       960M  312M  648M  33% /boot
/dev/sda2       200M  7.0M  193M   4% /boot/efi

4️⃣ df -i inode 使用量

  • ↪️ 確認檔案數量上限

inode是每個檔案和資料夾各使用一個的管理資訊。-i 會輸出 inode 數量而不是容量。

df -i
Filesystem       Inodes IUsed    IFree IUse% Mounted on
devtmpfs         472579   377   472202    1% /dev
tmpfs            480268     2   480266    1% /dev/shm
tmpfs            819200   645   818555    1% /run
efivarfs              0     0        0     - /sys/firmware/efi/efivars
/dev/sda4      26201024 98214 26102810    1% /
/dev/sda3        524288   362   523926    1% /boot
/dev/sda2             0     0        0     - /boot/efi
tmpfs             96053    21    96032    1% /run/user/0

Inodes 是可建立的總數,IUsed 是已用數量,IFree 是剩餘數量,IUse% 是使用率。vfat 的 /boot/efi 與 efivarfs 的 inode 數為 0,所以 IUse% 顯示為 -。

每建立一個檔案就會用掉一個 inode,因此 IUse% 到達 100% 時,即使 Use% 很低也無法再建立新檔案。若伺服器會累積大量小檔案,就要一起查看 [df -h] 與 [df -i]。

再加上 -h 後,數量也會以 K、M 為單位歸併,根目錄的 26201024 個顯示為 25M。

df -ih
Filesystem     Inodes IUsed IFree IUse% Mounted on
devtmpfs         462K   377  462K    1% /dev
tmpfs            470K     2  470K    1% /dev/shm
tmpfs            800K   645  800K    1% /run
efivarfs            0     0     0     - /sys/firmware/efi/efivars
/dev/sda4         25M   96K   25M    1% /
/dev/sda3        512K   362  512K    1% /boot
/dev/sda2           0     0     0     - /boot/efi
tmpfs             94K    21   94K    1% /run/user/0

Debian 12 伺服器在 6285088 個 inode 中用了 188009 個,IUse% 為 3%。

df -i ~
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/vda2      6285088 188009 6097079    3% /

5️⃣ df --output 指定輸出欄位

  • ↪️ 只挑需要的欄位與 --total 合計

--output 可直接決定要輸出的欄位與順序。欄位名稱以逗號串接,可用的名稱是下表的十二種(依 --help)。

欄位名稱標題內容
sourceFilesystem裝置名稱 / 檔案系統名稱
fstypeType檔案系統類型
itotalInodesinode 總數
iusedIUsed已用 inode 數
iavailIFree剩餘 inode 數
ipcentIUse%inode 使用率
sizeSize總容量
usedUsed已用容量
availAvail可用容量
pcentUse%使用率
fileFile指令中寫的檔案名稱
targetMounted on掛載點
df --output=source,fstype,size,used,avail,pcent,target -h
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs          tmpfs     1.9G     0  1.9G   0% /dev/shm
tmpfs          tmpfs     751M   17M  734M   3% /run
efivarfs       efivarfs  128K  3.8K  120K   4% /sys/firmware/efi/efivars
/dev/sda4      xfs        50G  9.8G   41G  20% /
/dev/sda3      xfs       960M  312M  648M  33% /boot
/dev/sda2      vfat      200M  7.0M  193M   4% /boot/efi
tmpfs          tmpfs     376M  4.0K  376M   1% /run/user/0

依序寫入七個欄位後,得到與 [df -hT] 相同的輸出。

df --output=target,pcent,avail -h
Mounted on                Use% Avail
/dev                        0%  1.9G
/dev/shm                    0%  1.9G
/run                        3%  734M
/sys/firmware/efi/efivars   4%  120K
/                          20%   41G
/boot                      33%  648M
/boot/efi                   4%  193M
/run/user/0                 1%  376M

依 target、pcent、avail 的順序寫入欄位名稱後,掛載點排到最前面,使用率與可用容量依序接在後面。

--total 會在最下方加上合計行。

df -h --total
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           751M   17M  734M   3% /run
efivarfs        128K  3.8K  120K   4% /sys/firmware/efi/efivars
/dev/sda4        50G  9.8G   41G  20% /
/dev/sda3       960M  312M  648M  33% /boot
/dev/sda2       200M  7.0M  193M   4% /boot/efi
tmpfs           376M  4.0K  376M   1% /run/user/0
total            56G   11G   46G  19% -

total 行是上方八行全部相加的值,所以像 tmpfs 這樣使用記憶體的檔案系統也被加進去了。

🔲 df 指令模擬器

在下方的模擬器中,可以替 df 加上 -h、-H、-T、-i、-t、-x、--output、--total 執行,查看每個選項下輸出欄位如何變化。

df 指令模擬器coreutils 8.32
[root@server work]#
這是只在瀏覽器中運作的虛擬伺服器,裝置名稱與容量都是範例值,左側欄會依掛載點列出 df -h 的容量與使用率。

6️⃣ df 指令錯誤

  • ↪️ No such file or directory 與 no file systems processed

寫入不存在的路徑時出現 [No such file or directory],並以結束代碼 1 結束。

df -h /nonexistent-dir
df: /nonexistent-dir: No such file or directory

替 -t 寫入伺服器上沒有的類型時,沒有任何一行可輸出,於是出現 [no file systems processed],結束代碼為 1。

df -t nosuchfs
df: no file systems processed

替 --output 寫入不存在的欄位名稱時,該名稱會出現在錯誤訊息中。

df --output=bogus
df: option --output: field 'bogus' unknown
Try 'df --help' for more information.

把 -i 或 -T 與 --output 一起寫入時出現 [mutually exclusive],並以同樣的結束代碼 1 結束。若要用 --output 查看 inode 或類型,請寫入 itotal、fstype 這類欄位名稱。

df -i --output
df: options -i and --output are mutually exclusive
Try 'df --help' for more information.

🔢 FAQ & 推薦內容

執行 [df -a] 後,連 proc、sysfs、cgroup2 這類容量為 0 的虛擬檔案系統也會出現,行數變多,這些行的 Use% 欄是 -。預設輸出會略過這些行(依 --help)。

加上 -l(--local)時只輸出本機檔案系統(依 --help)。在沒有遠端掛載的 AlmaLinux 9.8 伺服器上,[df -l -h] 與 [df -h] 的輸出相同。

在 -B 寫入單位後,所有容量都會換成該單位。以 [df -BM /] 執行後,標題變成 1M-blocks,根目錄容量顯示為 51175M。

ℹ️ 聯盟行銷說明
本站內容包含聯盟行銷連結。訪客透過這些連結購買商品或服務時,本站會從賣家獲得佣金。在這個過程中,購買者支付的金額(遇到活動折扣時金額會降低↓)並不會因此提高。刊登的價格、折扣與庫存資訊以撰寫當時為準,可能與實際情況不同,購買前請向賣家做最後確認。商品的挑選與評價依本站自訂的標準撰寫,是否支付佣金不會影響介紹順序或評價內容。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Prove your humanity: 7   +   6   =