天天看點

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

問題: 我知道在linux上我可以用df指令來檢視磁盤使用空間。你能告訴我df指令的實際例子使我可以最大限度得利用它嗎?
在 Linux 下你所不知道的 df 指令的那些功能在 Linux 下你所不知道的 df 指令的那些功能
在 Linux 下你所不知道的 df 指令的那些功能在 Linux 下你所不知道的 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中國”

繼續閱讀