一、簡介
df(英文全拼:display free disk space) 命令用于顯示或查看文件系統(或磁盤)的空間使用情況,包括總容量、已用空間、可用空間、使用率和掛載點等信息。
二、語法
df [選項]... [文件]...
參數 | 參數說明 |
-a, --all | 顯示所有文件系統,包括虛擬文件系統(如?proc,?sysfs) |
-B, --block-size=SIZE | 指定顯示單位(如?-BK=KB,-BM=MB,-BG=GB) |
-h, --human-readable | 以易讀格式顯示(自動轉換單位:K, M, G, T,基于1024) |
-H, --si | 類似?-h,但以 1000 為換算單位(符合 SI 標準) |
-i, --inodes | 顯示 inode 使用情況(而非磁盤空間) |
-k | 以 1KB 為單位顯示(默認單位) |
-m | 以 1MB 為單位顯示(部分系統支持) |
-l,?--local | 僅顯示本地文件系統(排除網絡文件系統如 NFS) |
--no-sync | 獲取信息前不調用?sync(默認行為) |
--sync | 獲取信息前調用?sync(確保數據最新) |
--total | 顯示總計信息 |
-T, --print-type | 顯示文件系統類型 |
-t, --type=TYPE | 僅顯示指定類型的文件系統(如?ext4,?xfs) |
-P, --portability | 使用 POSIX 兼容的輸出格式(避免換行問題) |
-x,?--exclude-type=TYPE | 排除指定類型的文件系統 |
--output[=FIELD_LIST] | 自定義輸出字段(如?source,fstype,size,pcent) |
--help | 顯示此幫助信息并退出 |
--version | 顯示版本信息并退出 |
三、實戰
[root@app01 ~]# df
文件系統????????????????????? 1K-塊??? 已用???? 可用 已用% 掛載點
devtmpfs???????????????????? 914424?????? 0?? 914424??? 0% /dev
tmpfs??????????????????????? 931500?????? 0?? 931500??? 0% /dev/shm
tmpfs??????????????????????? 931500?? 10432?? 921068??? 2% /run
tmpfs??????????????????????? 931500?????? 0?? 931500??? 0% /sys/fs/cgroup
/dev/mapper/rootvg-lv_root 26193412 4573660 21619752?? 18% /
/dev/sda1?????????????????? 1038336? 189248?? 849088?? 19% /boot
/dev/mapper/rootvg-lv_app? 31441920 3723864 27718056?? 12% /app
tmpfs??????????????????????? 186304????? 12?? 186292??? 1% /run/user/42
tmpfs??????????????????????? 186304?????? 0?? 186304??? 0% /run/user/0
說明:
文件系統(Filesystem):文件系統的名稱或標識符。
1K-塊(1K-blocks):文件系統的總容量,以1KB為單位,即文件系統的總大小。
已用(Used):文件系統已使用的容量,以1KB為單位。
可用(Available) :文件系統中可用的容量,以1KB為單位。
已用%(Use%):文件系統已使用容量占總容量的百分比。
掛載點(Mounted on):文件系統被掛載到的目錄或位置。
1、-h選項以易讀格式顯示會磁盤空間使用情況
[root@app01 ~]# df -h
文件系統??????????????????? 容量? 已用? 可用 已用% 掛載點
devtmpfs??????????????????? 893M???? 0? 893M??? 0% /dev
tmpfs?????????????????????? 910M???? 0? 910M??? 0% /dev/shm
tmpfs?????????????????????? 910M?? 11M? 900M??? 2% /run
tmpfs?????????????????????? 910M???? 0? 910M??? 0% /sys/fs/cgroup
/dev/mapper/rootvg-lv_root?? 25G? 4.4G?? 21G?? 18% /
/dev/sda1????????????????? 1014M? 185M? 830M?? 19% /boot
/dev/mapper/rootvg-lv_app??? 30G? 3.6G?? 27G?? 12% /app
tmpfs?????????????????????? 182M?? 12K? 182M??? 1% /run/user/42
tmpfs?????????????????????? 182M???? 0? 182M??? 0% /run/user/0
該命令參數是以易讀格式顯示,方便閱讀,容量單位會自轉換(自動轉換單位:K, M, G, T,基于1024)
2、df 也可以顯示某一個文件系統或某一個目錄所在磁盤使用的文件系統信息
[root@app01 ~]# df /app
文件系統???????????????????? 1K-塊??? 已用???? 可用 已用% 掛載點
/dev/mapper/rootvg-lv_app 31441920 3723864 27718056?? 12% /app
[root@app01 app]# df /app/jdk
文件系統???????????????????? 1K-塊??? 已用???? 可用 已用% 掛載點
/dev/mapper/rootvg-lv_app 31441920 3723864 27718056?? 12% /app
3、-i 選項 df 命令的輸出顯示 inode 信息而非塊使用量
[root@app01 app]# df -i
文件系統????????????????????? Inode 已用(I)? 可用(I) 已用(I)% 掛載點
devtmpfs???????????????????? 228606???? 398?? 228208?????? 1% /dev
tmpfs??????????????????????? 232875?????? 1?? 232874?????? 1% /dev/shm
tmpfs??????????????????????? 232875???? 910?? 231965?????? 1% /run
tmpfs??????????????????????? 232875????? 16?? 232859?????? 1% /sys/fs/cgroup
/dev/mapper/rootvg-lv_root 13103104? 160828 12942276?????? 2% /
/dev/sda1??????????????????? 524288???? 341?? 523947?????? 1% /boot
/dev/mapper/rootvg-lv_app? 15728640??? 1231 15727409?????? 1% /app
tmpfs??????????????????????? 232875?????? 9?? 232866?????? 1% /run/user/42
tmpfs??????????????????????? 232875?????? 1?? 232874?????? 1% /run/user/0
注:有時候使用df -Th命令查看文件系統時,發現文件系統可使用空間充足,但文件就是寫不進去,此時有可能就是inode值已滿造成。
inode包含文件的元信息,具體來說有以下內容:
* 文件的字節數
* 文件擁有者的User ID
* 文件的Group ID
* 文件的讀、寫、執行權限
* 文件的時間戳,共有三個:
??? ctime指inode上一次變動的時間,
??? mtime指文件內容上一次變動的時間,
??? atime指文件上一次打開的時間。
* 鏈接數,即有多少文件名指向這個inode
* 文件數據block的位置
4、顯示所有的信息
[root@app01 app]# df --total
文件系統????????????????????? 1K-塊??? 已用???? 可用 已用% 掛載點
devtmpfs???????????????????? 914424?????? 0?? 914424??? 0% /dev
tmpfs??????????????????????? 931500?????? 0?? 931500??? 0% /dev/shm
tmpfs??????????????????????? 931500?? 10432?? 921068??? 2% /run
tmpfs??????????????????????? 931500?????? 0?? 931500??? 0% /sys/fs/cgroup
/dev/mapper/rootvg-lv_root 26193412 4573168 21620244?? 18% /
/dev/sda1?????????????????? 1038336? 189248?? 849088?? 19% /boot
/dev/mapper/rootvg-lv_app? 31441920 3723864 27718056?? 12% /app
tmpfs??????????????????????? 186304????? 12?? 186292??? 1% /run/user/42
tmpfs??????????????????????? 186304?????? 0?? 186304??? 0% /run/user/0
total????????????????????? 62755200 8496724 54258476?? 14% -
使用—total參數查看文件系統時,我們看到內容輸出的末尾,包含一個額外的行(total),該行會顯示每一列的總和。
5、查看系統系統類型
[root@app01 app]# df -T
文件系統??????????? ???????類型??????? 1K-塊??? 已用???? 可用 已用% 掛載點
devtmpfs?????????????????? devtmpfs?? 914424?????? 0?? 914424??? 0% /dev
tmpfs????????????????????? tmpfs????? 931500?????? 0?? 931500??? 0% /dev/shm
tmpfs????????????????????? tmpfs????? 931500?? 10432?? 921068??? 2% /run
tmpfs????????????????????? tmpfs????? 931500?????? 0?? 931500??? 0% /sys/fs/cgroup
/dev/mapper/rootvg-lv_root xfs????? 26193412 4573168 21620244?? 18% /
/dev/sda1????????????????? xfs?????? 1038336? 189248?? 849088?? 19% /boot
/dev/mapper/rootvg-lv_app? xfs????? 31441920 3723864 27718056?? 12% /app
tmpfs????????????????????? tmpfs????? 186304????? 12?? 186292??? 1% /run/user/42
tmpfs????????????????????? tmpfs????? 186304?????? 0?? 186304??? 0% /run/user/0
使用-T參數,可以看到每一個文件系統所屬的類型是什么,也就是上面的第二列(類型)數據。
注:其中使用df命令查看時,可以把參數進行組合查看,這里就不在一一展示了,大家可以自行嘗試,看看組合后有什么不一樣的輸出結果。