首頁 > 軟體

在 Linux 下你所不知道的 df 命令的那些功能

2020-06-16 18:10:07

問題: 我知道在Linux上我可以用df命令來檢視磁碟使用空間。你能告訴我df命令的實際例子使我可以最大限度得利用它嗎?

對於磁碟儲存方面,有很多命令列或基於GUI的工具,它可以告訴你關於當前磁碟空間的使用情況。這些工具用各種人們可讀的格式展示磁碟利用率的詳細資訊,比如易於理解的總結,詳細的統計資訊或直觀的視覺化報告。如果你只想知道不同檔案系統有多少空閒的磁碟空間,那麼df命令可能是你所需要的。

df命令可以展示任何“mounted”檔案系統的磁碟利用率。該命令可以用不同的方式呼叫。這裡有一些有用的 df 命令例子.

用人們可讀的方式展示

預設情況下,df命令用1K為塊來展示磁碟空間,這看起來不是很直觀。“-h”引數使df用更可讀的方式列印磁碟空間(例如 100K,200M,3G)。

  1. $ df -h

  1. FilesystemSizeUsedAvailUse%Mounted on
  2. /dev/mapper/Ubuntu-root 909G565G299G66%/
  3. none 4.0K04.0K0%/sys/fs/cgroup
  4. udev 3.9G4.0K3.9G1%/dev
  5. tmpfs 785M1.2M784M1%/run
  6. none 5.0M05.0M0%/run/lock
  7. none 3.9G63M3.8G2%/run/shm
  8. none 100M48K100M1%/run/user
  9. /dev/sda1 228M98M118M46%/boot

展示Inode使用情況

當你監視磁碟使用情況時,你必須注意的不僅僅是磁碟空間還有“inode”的使用情況。在Linux中,inode是用來儲存特定檔案的後設資料的一種資料結構,在建立一個檔案系統時,inode的預先定義數量將被分配。這意味著,一個檔案系統可能耗盡空間不只是因為大檔案用完了所有可用空間,也可能是因為很多小檔案用完了所有可能的inode。用“-i”選項展示inode使用情況。

  1. $ df -i

  1. FilesystemInodesIUsedIFreeIUse%Mounted on
  2. /dev/mapper/ubuntu-root 605143041217535592967693%/
  3. none 10044171310044041%/sys/fs/cgroup
  4. udev 100062355210000711%/dev
  5. tmpfs 100441760810038091%/run
  6. none 10044171110044061%/run/lock
  7. none 100441728810041291%/run/shm
  8. none 10044172810043891%/run/user
  9. /dev/sda1 1244963461241501%/boot

展示磁碟總利用率

預設情況下, df命令顯示磁碟的單個檔案系統的利用率。如果你想知道的所有檔案系統的總磁碟使用量,增加“ --total ”選項(見最下面的匯總行)。

  1. $ df -h --total

  1. FilesystemSizeUsedAvailUse%Mounted on
  2. /dev/mapper/ubuntu-root 909G565G299G66%/
  3. none 4.0K04.0K0%/sys/fs/cgroup
  4. udev 3.9G4.0K3.9G1%/dev
  5. tmpfs 785M1.2M784M1%/run
  6. none 5.0M05.0M0%/run/lock
  7. none 3.9G62M3.8G2%/run/shm
  8. none 100M48K100M1%/run/user
  9. /dev/sda1 228M98M118M46%/boot
  10. total 918G565G307G65%-

展示檔案系統型別

預設情況下,df命令不顯示檔案系統型別資訊。用“-T”選項來新增檔案系統資訊到輸出中。

  1. $ df -T

  1. FilesystemType1K-blocks UsedAvailableUse%Mounted on
  2. /dev/mapper/ubuntu-root ext4 95289334859158329231288284466%/
  3. none tmpfs 4040%/sys/fs/cgroup
  4. udev devtmpfs 4002492440024881%/dev
  5. tmpfs tmpfs 80353611968023401%/run
  6. none tmpfs 5120051200%/run/lock
  7. none tmpfs 40176686017639574922%/run/shm
  8. none tmpfs 102400481023521%/run/user
  9. /dev/sda1 ext2 23319110002512072546%/boot

包含或排除特定的檔案系統型別

如果你想知道特定檔案系統型別的剩餘空間,用“-t ”選項。你可以多次使用這個選項來包含更多的檔案系統型別。

  1. $ df -t ext2 -t ext4

  1. Filesystem1K-blocks UsedAvailableUse%Mounted on
  2. /dev/mapper/ubuntu-root 95289334859158338031288275666%/
  3. /dev/sda1 23319110002512072546%/boot

排除特定的檔案系統型別,用“-x ”選項。同樣,你可以用這個選項多次來排除多種檔案系統型別。

  1. $ df -x tmpfs

顯示一個具體的掛載點磁碟使用情況

如果你用df指定一個掛載點,它將報告掛載在那個地方的檔案系統的磁碟使用情況。如果你指定一個普通檔案(或一個目錄)而不是一個掛載點,df將顯示包含這個檔案(或目錄)的檔案系統的磁碟利用率。

  1. $ df /

  1. Filesystem1K-blocks UsedAvailableUse%Mounted on
  2. /dev/mapper/ubuntu-root 95289334859158352831288260866%/

  1. $ df /home/dev

  1. Filesystem1K-blocks UsedAvailableUse%Mounted on
  2. /dev/mapper/ubuntu-root 95289334859158352831288260866%/

顯示虛擬檔案系統的資訊

如果你想顯示所有已經存在的檔案系統(包括虛擬檔案系統)的磁碟空間資訊,用“-a”選項。這裡,虛擬檔案系統是指沒有相對應的物理裝置的假檔案系統,例如,tmpfs,cgroup虛擬檔案系統或FUSE檔案安系統。這些虛擬檔案系統大小為0,不用“-a”選項將不會被報告出來。

  1. $ df -a

  1. Filesystem1K-blocks UsedAvailableUse%Mounted on
  2. /dev/mapper/ubuntu-root 95289334859157871631288742066%/
  3. proc 000-/proc
  4. sysfs 000-/sys
  5. none 4040%/sys/fs/cgroup
  6. none 000-/sys/fs/fuse/connections
  7. none 000-/sys/kernel/debug
  8. none 000-/sys/kernel/security
  9. udev 4002492440024881%/dev
  10. devpts 000-/dev/pts
  11. tmpfs 80353611968023401%/run
  12. none 5120051200%/run/lock
  13. none 40176685814439595242%/run/shm
  14. none 102400481023521%/run/user
  15. none 000-/sys/fs/pstore
  16. cgroup 000-/sys/fs/cgroup/cpuset
  17. cgroup 000-/sys/fs/cgroup/hugetlb
  18. /dev/sda1 23319110002512072546%/boot
  19. vmware-vmblock 000-/run/vmblock-fuse


IT145.com E-mail:sddin#qq.com