天天看點

df指令 - 夢裡衍春

df指令

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

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

df指令可以展示任何“mounted”檔案系統的磁盤使用率。該指令可以用不同的方式調用。這裡有一些有用的 df 指令例子.

用人們可讀的方式展示

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

  1. $ df -h
  1. Filesystem Size Used Avail Use% Mounted on
  2. /dev/mapper/ubuntu-root 909G 565G 299G 66% /
  3. none 4.0K 0 4.0K 0% /sys/fs/cgroup
  4. udev 3.9G 4.0K 3.9G 1% /dev
  5. tmpfs 785M 1.2M 784M 1% /run
  6. none 5.0M 0 5.0M 0% /run/lock
  7. none 3.9G 63M 3.8G 2% /run/shm
  8. none 100M 48K 100M 1% /run/user
  9. /dev/sda1 228M 98M 118M 46% /boot

展示Inode使用情況

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

  1. $ df -i
  1. Filesystem Inodes IUsed IFree IUse% Mounted on
  2. /dev/mapper/ubuntu-root 60514304 1217535 59296769 3% /
  3. none 1004417 13 1004404 1% /sys/fs/cgroup
  4. udev 1000623 552 1000071 1% /dev
  5. tmpfs 1004417 608 1003809 1% /run
  6. none 1004417 11 1004406 1% /run/lock
  7. none 1004417 288 1004129 1% /run/shm
  8. none 1004417 28 1004389 1% /run/user
  9. /dev/sda1 124496 346 124150 1% /boot

展示磁盤總使用率

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

  1. $ df -h --total
  1. Filesystem Size Used Avail Use% Mounted on
  2. /dev/mapper/ubuntu-root 909G 565G 299G 66% /
  3. none 4.0K 0 4.0K 0% /sys/fs/cgroup
  4. udev 3.9G 4.0K 3.9G 1% /dev
  5. tmpfs 785M 1.2M 784M 1% /run
  6. none 5.0M 0 5.0M 0% /run/lock
  7. none 3.9G 62M 3.8G 2% /run/shm
  8. none 100M 48K 100M 1% /run/user
  9. /dev/sda1 228M 98M 118M 46% /boot
  10. total 918G 565G 307G 65% -

展示檔案系統類型

預設情況下,df指令不顯示檔案系統類型資訊。用“-T”選項來添加檔案系統資訊到輸出中。

  1. $ df -T
  1. Filesystem Type 1K-blocks Used Available Use% Mounted on
  2. /dev/mapper/ubuntu-root ext4 952893348 591583292 312882844 66% /
  3. none tmpfs 4 0 4 0% /sys/fs/cgroup
  4. udev devtmpfs 4002492 4 4002488 1% /dev
  5. tmpfs tmpfs 803536 1196 802340 1% /run
  6. none tmpfs 5120 0 5120 0% /run/lock
  7. none tmpfs 4017668 60176 3957492 2% /run/shm
  8. none tmpfs 102400 48 102352 1% /run/user
  9. /dev/sda1 ext2 233191 100025 120725 46% /boot

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

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

  1. $ df -t ext2 -t ext4
  1. Filesystem 1K-blocks Used Available Use% Mounted on
  2. /dev/mapper/ubuntu-root 952893348 591583380 312882756 66% /
  3. /dev/sda1 233191 100025 120725 46% /boot

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

  1. $ df -x tmpfs

顯示一個具體的挂載點磁盤使用情況

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

  1. $ df /
  1. Filesystem 1K-blocks Used Available Use% Mounted on
  2. /dev/mapper/ubuntu-root 952893348 591583528 312882608 66% /
  1. $ df /home/dev
  1. Filesystem 1K-blocks Used Available Use% Mounted on
  2. /dev/mapper/ubuntu-root 952893348 591583528 312882608 66% /

顯示虛拟檔案系統的資訊

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

  1. $ df -a
  1. Filesystem 1K-blocks Used Available Use% Mounted on
  2. /dev/mapper/ubuntu-root 952893348 591578716 312887420 66% /
  3. proc 0 0 0 - /proc
  4. sysfs 0 0 0 - /sys
  5. none 4 0 4 0% /sys/fs/cgroup
  6. none 0 0 0 - /sys/fs/fuse/connections
  7. none 0 0 0 - /sys/kernel/debug
  8. none 0 0 0 - /sys/kernel/security
  9. udev 4002492 4 4002488 1% /dev
  10. devpts 0 0 0 - /dev/pts
  11. tmpfs 803536 1196 802340 1% /run
  12. none 5120 0 5120 0% /run/lock
  13. none 4017668 58144 3959524 2% /run/shm
  14. none 102400 48 102352 1% /run/user
  15. none 0 0 0 - /sys/fs/pstore
  16. cgroup 0 0 0 - /sys/fs/cgroup/cpuset
  17. cgroup 0 0 0 - /sys/fs/cgroup/hugetlb
  18. /dev/sda1 233191 100025 120725 46% /boot
  19. vmware-vmblock 0 0 0 - /run/vmblock-fuse

via: http://ask.xmodulo.com/check-disk-space-linux-df-command.html

df指令 - 夢裡衍春