察看磁盤(pán)使用狀況
察看狀況是很簡(jiǎn)單的喔 .. ,只要輸入 df (display free disk space) 就可以知道各個(gè)掛入點(diǎn)的使用狀況了
Freebsd 查看磁盤(pán)和目錄的空間使用大小
du、df,freebsd/linux du,df(磁盤(pán)空間信息)命令詳解
df和du命令詳解df命令詳細(xì)用法
a:顯示全部的檔案系統(tǒng)和各分割區(qū)的磁盤(pán)使用情形
i:顯示i -nodes的使用量
k:大小用k來(lái)表示 (默認(rèn)值)
t:顯示某一個(gè)檔案系統(tǒng)的所有分割區(qū)磁盤(pán)使用量
x:顯示不是某一個(gè)檔案系統(tǒng)的所有分割區(qū)磁盤(pán)使用量
T:顯示每個(gè)分割區(qū)所屬的檔案系統(tǒng)名稱(chēng)
常用命令:df -hi
操作詳解
引用指令 df 可以顯示目前所有檔案系統(tǒng)的最大可用空間及使用情形,請(qǐng)看下列這個(gè)例子:
# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 1.9G 389M 1.4G 21% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1d 989M 54K 910M 0% /tmp
/dev/ad0s1f 4.8G 3.8G 657M 86% /usr
/dev/ad0s1e 1.9G 149M 1.6G 8% /var
/dev/ad0s1g 26G 890K 24G 0% /volume2
/dev/da0s1d 325G 261G 38G 87% /volume1
我們加了參數(shù) -h 表示使用「Human-readable」的輸出,也就是在檔案系統(tǒng)大小使用 GB、MB 等易讀的格式。
上 面的指令輸出的第一個(gè)字段及最后一個(gè)字段分別是檔案系統(tǒng)及其掛入點(diǎn)。我們可以看到 /dev/ad0s1a 這個(gè)分割區(qū)被掛在根目錄下。我們?cè)谏弦恍」?jié)提到過(guò) ad 所代表的是 IDE 的硬盤(pán),而 s1 表示第一個(gè)主要扇區(qū)。我另外有一個(gè) SCSI 硬盤(pán),它的代號(hào)是 da,它的容量很大,主要用來(lái)存放數(shù)據(jù)。devfs 是一個(gè)特別的檔案系統(tǒng),該檔案系統(tǒng)并非真的磁盤(pán),而是 FreeBSD 用來(lái)管理系統(tǒng)硬件裝置的虛擬檔案系統(tǒng)。
接下來(lái)的四個(gè)字段 Size、Used、Avail、及 Capacity 分別是該分割區(qū)的容量、已使用的大小、剩下的大小、及使用的百分比。當(dāng)硬盤(pán)容量已滿(mǎn)時(shí),您可能會(huì)看到已使用的百分比超過(guò) 100%,因?yàn)?FreeBSD 會(huì)留一些空間給 root,讓 root 在檔案系統(tǒng)滿(mǎn)時(shí),還是可以寫(xiě)東西到該檔案系統(tǒng)中,以進(jìn)行管理。
另外,我們還可以使用參數(shù) -i 來(lái)查看目前檔案系統(tǒng) inode 的使用情形。有的時(shí)候雖然檔案系統(tǒng)還有空間,但若沒(méi)有足夠的 inode 來(lái)存放檔案的信息,一樣會(huì)不能增加新的檔案。
# df -ih
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/ad0s1a 1.9G 389M 1.4G 21% 20495 262127 7% /
devfs 1.0K 1.0K 0B 100% 0 0 100% /dev
/dev/ad0s1d 989M 62K 910M 0% 24 141286 0% /tmp
/dev/ad0s1f 4.8G 3.8G 657M 86% 311439 348015 47% /usr
/dev/ad0s1e 1.9G 149M 1.6G 8% 1758 280864 1% /var
/dev/ad0s1g 26G 890K 24G 0% 12 3532786 0% /volume2
/dev/da0s1d 325G 261G 38G 87% 707277 43311409 2% /volume1
我們可以看到根目錄的已經(jīng)用掉的 inode 數(shù)量為 20495,還有 262127 的可用 inode。
小提示
還 記得什么是 inode 嗎?所謂的 inode 是用來(lái)存放檔案及目錄的基本信息 (metadata),包含時(shí)間、檔名、使用者及群組等。在分割扇區(qū)時(shí),系統(tǒng)會(huì)先做出一堆 inode 以供以后使用,inode 的數(shù)量關(guān)系著系統(tǒng)中可以建立的檔案及目錄總數(shù)。如果要存的檔案大部分都很小,則同樣大小的硬盤(pán)中會(huì)有較多的檔案,也就是說(shuō)需要較多的 inode 來(lái)掛檔案及目錄。
du:查詢(xún)檔案或目錄的磁盤(pán)使用空間
a:顯示全部目錄和其次目錄下的每個(gè)檔案所占的磁盤(pán)空間
b:大小用bytes來(lái)表示 (默認(rèn)值為k bytes)
c:最后再加上總計(jì) (默認(rèn)值)
s:只顯示各檔案大小的總合
x:只計(jì)算同屬同一個(gè)檔案系統(tǒng)的檔案
L:計(jì)算所有的檔案大小
常用命令:du -a
操作詳解
引用指令 du 能以指定的目錄下的子目錄為單位,顯示每個(gè)目錄內(nèi)所有檔案所占用的磁盤(pán)空間大小。例如:
# du -h /etc
104K /etc/defaults
6.0K /etc/X11
8.0K /etc/bluetooth
4.0K /etc/gnats
52K /etc/isdn
388K /etc/mail
68K /etc/mtree
2.0K /etc/ntp
38K /etc/pam.d
44K /etc/periodic/daily
6.0K /etc/periodic/monthly
42K /etc/periodic/security
16K /etc/periodic/weekly
110K /etc/periodic
6.0K /etc/ppp
318K /etc/rc.d
2.0K /etc/skel
130K /etc/ssh
10K /etc/ssl
1.7M /etc
我們目樣使用 -h 參數(shù)來(lái)顯示 human-readable 的格式。在應(yīng)用時(shí),我們可以使用 du 這個(gè)指令來(lái)查看哪個(gè)目錄占用最多的空間。不過(guò),du 的輸出結(jié)果通常很長(zhǎng),我們可以加上 -s 參數(shù)來(lái)省略指定目錄下的子目錄,而只顯示該目錄的總合即可:
# du -sh /etc
1.7M /etc
在查看目錄的使用情形時(shí),我們可以將輸出結(jié)果導(dǎo)到 sort 指令進(jìn)行排序,以了解哪個(gè)檔案用了最多的空間:
# du /etc | sort -nr | more
1746 /etc
388 /etc/mail
318 /etc/rc.d
130 /etc/ssh
110 /etc/periodic
104 /etc/defaults
68 /etc/mtree
52 /etc/isdn
44 /etc/periodic/daily
42 /etc/periodic/security
38 /etc/pam.d
16 /etc/periodic/weekly
10 /etc/ssl
8 /etc/bluetooth
6 /etc/ppp
6 /etc/periodic/monthly
6 /etc/X11
4 /etc/gnats
2 /etc/skel
2 /etc/ntp
sort 的參數(shù) -nr 表示要以數(shù)字排序法進(jìn)行反向排序,因?yàn)槲覀円獙?duì)目錄大小做排序,所以不可以使用 human-readable 的大小輸出,不然目錄大小中會(huì)有 K、M 等字樣,會(huì)造成排序不正確。
例子:du -sh /pig/* | sort -nr | more 可以將pig目錄下的所有文件夾按照從大到小排列起來(lái)~