問題: 我知道在linux上我可以用df指令來檢視磁盤使用空間。你能告訴我df指令的實際例子使我可以最大限度得利用它嗎?
df指令可以展示任何“mounted”檔案系統的磁盤使用率。該指令可以用不同的方式調用。這裡有一些有用的df 指令例子.
<a target="_blank"></a>
預設情況下,df指令用1k為塊來展示磁盤空間,這看起來不是很直覺。“-h”參數使df用更可讀的方式列印磁盤空間(例如 100k,200m,3g)。
$ df -h
filesystem size used avail use% mounted on
/dev/mapper/ubuntu-root 909g 565g 299g 66% /
none 4.0k 0 4.0k 0% /sys/fs/cgroup
udev 3.9g 4.0k 3.9g 1% /dev
tmpfs 785m 1.2m 784m 1% /run
none 5.0m 0 5.0m 0% /run/lock
none 3.9g 63m 3.8g 2% /run/shm
none 100m 48k 100m 1% /run/user
/dev/sda1 228m 98m 118m 46% /boot
當你監視磁盤使用情況時,你必須注意的不僅僅是磁盤空間還有“inode”的使用情況。在linux中,inode是用來存儲特定檔案的中繼資料的一種資料結構,在建立一個檔案系統時,inode的預先定義數量将被配置設定。這意味着,一個檔案系統可能耗盡空間不隻是因為大檔案用完了所有可用空間,也可能是因為很多小檔案用完了所有可能的inode。用“-i”選項展示inode使用情況。
$ df -i
filesystem inodes iused ifree iuse% mounted on
/dev/mapper/ubuntu-root 60514304 1217535 59296769 3% /
none 1004417 13 1004404 1% /sys/fs/cgroup
udev 1000623 552 1000071 1% /dev
tmpfs 1004417 608 1003809 1% /run
none 1004417 11 1004406 1% /run/lock
none 1004417 288 1004129 1% /run/shm
none 1004417 28 1004389 1% /run/user
/dev/sda1 124496 346 124150 1% /boot
預設情況下, df指令顯示磁盤的單個檔案系統的使用率。如果你想知道的所有檔案系統的總磁盤使用量,增加“ --total ”選項(見最下面的彙總行)。
$ df -h --total
none 3.9g 62m 3.8g 2% /run/shm
total 918g 565g 307g 65% -
預設情況下,df指令不顯示檔案系統類型資訊。用“-t”選項來添加檔案系統資訊到輸出中。
$ df -t
filesystem type 1k-blocks used available use% mounted on
/dev/mapper/ubuntu-root ext4 952893348 591583292 312882844 66% /
none tmpfs 4 0 4 0% /sys/fs/cgroup
udev devtmpfs 4002492 4 4002488 1% /dev
tmpfs tmpfs 803536 1196 802340 1% /run
none tmpfs 5120 0 5120 0% /run/lock
none tmpfs 4017668 60176 3957492 2% /run/shm
none tmpfs 102400 48 102352 1% /run/user
/dev/sda1 ext2 233191 100025 120725 46% /boot
如果你想知道特定檔案系統類型的剩餘空間,用“-t ”選項。你可以多次使用這個選項來包含更多的檔案系統類型。
$ df -t ext2 -t ext4
filesystem 1k-blocks used available use% mounted on
/dev/mapper/ubuntu-root 952893348 591583380 312882756 66% /
/dev/sda1 233191 100025 120725 46% /boot
排除特定的檔案系統類型,用“-x ”選項。同樣,你可以用這個選項多次來排除多種檔案系統類型。
$ df -x tmpfs
如果你用df指定一個挂載點,它将報告挂載在那個地方的檔案系統的磁盤使用情況。如果你指定一個普通檔案(或一個目錄)而不是一個挂載點,df将顯示包含這個檔案(或目錄)的檔案系統的磁盤使用率。
$ df /
/dev/mapper/ubuntu-root 952893348 591583528 312882608 66% /
$ df /home/dev
如果你想顯示所有已經存在的檔案系統(包括虛拟檔案系統)的磁盤空間資訊,用“-a”選項。這裡,虛拟檔案系統是指沒有相對應的實體裝置的假檔案系統,例如,tmpfs,cgroup虛拟檔案系統或fuse檔案安系統。這些虛拟檔案系統大小為0,不用“-a”選項将不會被報告出來。
$ df -a
/dev/mapper/ubuntu-root 952893348 591578716 312887420 66% /
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
none 4 0 4 0% /sys/fs/cgroup
none 0 0 0 - /sys/fs/fuse/connections
none 0 0 0 - /sys/kernel/debug
none 0 0 0 - /sys/kernel/security
udev 4002492 4 4002488 1% /dev
devpts 0 0 0 - /dev/pts
tmpfs 803536 1196 802340 1% /run
none 5120 0 5120 0% /run/lock
none 4017668 58144 3959524 2% /run/shm
none 102400 48 102352 1% /run/user
none 0 0 0 - /sys/fs/pstore
cgroup 0 0 0 - /sys/fs/cgroup/cpuset
cgroup 0 0 0 - /sys/fs/cgroup/hugetlb
vmware-vmblock 0 0 0 - /run/vmblock-fuse
原文釋出時間:2015-02-01
本文來自雲栖合作夥伴“linux中國”