龍巖易富通網(wǎng)絡(luò)科技有限公司

龍巖小程序開發(fā),龍巖分銷系統(tǒng)

linux的du和df命令

2015.09.10 | 753閱讀 | 0條評論 | 通用代碼

du查看目錄大小,df查看磁盤使用情況。

我常使用的命令(必要時,sudo使用root權(quán)限),

1.查看某個目錄的大?。篸u -hs /home/master/documents

查看目錄下所有目錄的大小并按大小降序排列:sudo du -sm /etc/* | sort -nr | less

2.查看磁盤使用情況(文件系統(tǒng)的使用情況):sudo df -h

df --block-size=GB


-h是使輸出結(jié)果更易于人類閱讀;du -s只展示目錄的使用總量(不分別展示各個子目錄情況),-m是以MB為單位展示目錄的大小(當(dāng)然-k/-g就是KB/GB了)。

更多信息,還是man du 和 man df 來獲得吧。


du - estimate file space usage

Summarize disk usage of each FILE, recursively for directories.


df - report file system disk space usage

Show information about the file system on which each FILE resides, or all file systems by default.

df displays the amount of disk space available on the file system containing each file nameargument. If no file name is given, the space available on all currently mounted file systems is shown.


 


 dudu的英文為:disk usage,含義是磁盤空間使用情況,功能是逐級進(jìn)入指定目錄的每一個子目錄并顯示該目錄占用文件系統(tǒng)數(shù)據(jù)塊的情況,如果沒有指定目錄,則對當(dāng)前的目錄進(jìn)行統(tǒng)計。

du的命令各個選項含義如下:


a:顯示全部目錄和其次目錄下的每個檔案所占的磁盤空間

s:只顯示各檔案大小的總合

b:大小用bytes來表示

x:跳過在不同文件系統(tǒng)上的目錄不予統(tǒng)計

a:遞歸地顯示指定目錄中各文件及子孫目錄中各文件占用的數(shù)據(jù)塊數(shù)

...

使用du進(jìn)行查看

root@tech163:/home/htmlfile# du

16      ./test

60      ./bbb

84      .


其中第一列是以塊為單位計的磁盤空間容量,第二列列出目錄中使用這些空間的目錄名稱1)查看當(dāng)前目錄包含子目錄的大小root@tech163:/home/htmlfile# du -sm .

1       .

其中的du -sm . 的“.”是代表當(dāng)前目錄。2)查看當(dāng)前目錄以及子目錄的大小root@tech163:/home/htmlfile# du -h

16K     ./test

60K     ./bbb

84K     .

其中 -h 表示使用K,M,G的人性化形式顯示。3)看到當(dāng)前目錄下的bbb目錄大小,但不想查看其他目錄以及子目錄root@tech163:/home/htmlfile# du -ch bbb | tail -n 1

60K     total

使用了管道包含了du和tail兩個命令,-c表示最后計算出所列目錄的大小之和。4)列出當(dāng)前目錄下所有目錄和文件的大小root@tech163:/home/htmlfile# du -ah bbb

4.0K    bbb/mysql.php

4.0K    bbb/index.htm

4.0K    bbb/p.php

28K     bbb/memcache.php

12K     bbb/.session.php.swp

4.0K    bbb/hello.html

60K     bbb

其中-a表示包含目錄和文件5)不換行列出目錄以及子目錄大小的信息root@tech163:/home/htmlfile# du -0h

16K     ./test60K       ./bbb84K        .root@tech163:/home/htmlfile#

其中 -0 表示列出一條信息后不換行,接著輸出第二條信息。df于du不同的是,du是面向文件的命令,只計算被文件占用的空間。不計算文件系統(tǒng)metadata 占用的空間。df則是基于文件系統(tǒng)總體來計算,通過文件系統(tǒng)中未分配空間來確定系統(tǒng)中已經(jīng)分配空間的大小。df命令可以獲取硬盤占用了多少空間,還剩下多少空間,它也可以顯示所有文件系統(tǒng)對i節(jié)點和磁盤塊的使用情況。


df命令各個選擇的含義如下:


a:顯示全部的檔案系統(tǒng)和各分割區(qū)的磁盤使用情形

i:顯示i -nodes的使用量

k:大小用k來表示 (默認(rèn)值)

t:顯示某一個檔案系統(tǒng)的所有分割區(qū)磁盤使用量

x:顯示不是某一個檔案系統(tǒng)的所有分割區(qū)磁盤使用量

T:顯示每個分割區(qū)所屬的檔案系統(tǒng)名稱

....


使用df進(jìn)行查看


Filesystem           1K-blocks      Used Available Use% Mounted on

/dev/cciss/c0d0p1      2068156    611572   1351528  32% /

tmpfs                  1038080         4   1038076   1% /lib/init/rw

udev                     10240        64     10176   1% /dev

tmpfs                  1038080         4   1038076   1% /dev/shm

/dev/cciss/c0d0p9    130700120  44034236  86665884  34% /home

/dev/cciss/c0d0p7      2068156     68932   1999224   4% /tmp

/dev/cciss/c0d0p8      4132372   1760620   2161840  45% /usr

/dev/cciss/c0d0p6      2068156    330104   1632996  17% /var


第一行是文件系統(tǒng)對應(yīng)的硬盤分區(qū)

第二行是分區(qū)包含的數(shù)據(jù)塊的數(shù)據(jù)(1數(shù)據(jù)庫為1024字節(jié))

第三四行是已用和未用的數(shù)據(jù)塊數(shù)組

第五行是普通用戶空間使用的百分比

第六行是文件系統(tǒng)的安裝點


其中第三四行已用和未用數(shù)據(jù)塊相加并不等于第二行總數(shù)據(jù)塊,這是因為分區(qū)留了少量空間提供給


系統(tǒng)管理員使用。1)chenyz@gzhouse:~$ df -h

文件系統(tǒng)              容量  已用 可用 已用% 掛載點

/dev/cciss/c0d0p1     2.0G  598M  1.3G  32% /

tmpfs                1014M  4.0K 1014M   1% /lib/init/rw

udev                   10M   64K   10M   1% /dev

tmpfs                1014M  4.0K 1014M   1% /dev/shm

/dev/cciss/c0d0p9     125G   42G   83G  34% /home

/dev/cciss/c0d0p7     2.0G   68M  2.0G   4% /tmp

/dev/cciss/c0d0p8     4.0G  1.7G  2.1G  45% /usr

/dev/cciss/c0d0p6     2.0G  333M  1.6G  18% /var

其中 -h 表示使用K,M,G的人性化形式顯示。2)chenyz@gzhouse:~$ df -ia

文件系統(tǒng)               Inode (I)已用 (I)可用 (I)已用% 掛載點

/dev/cciss/c0d0p1     262752   60150  202602   23% /

tmpfs                 224142      10  224132    1% /lib/init/rw

proc                       0       0       0    -  /proc

sysfs                      0       0       0    -  /sys

procbususb                 0       0       0    -  /proc/bus/usb

udev                  224142     770  223372    1% /dev

tmpfs                 224142       3  224139    1% /dev/shm

devpts                     0       0       0    -  /dev/pts

/dev/cciss/c0d0p9    130763968 1972907 128791061    2% /home

/dev/cciss/c0d0p7     262752      54  262698    1% /tmp

/dev/cciss/c0d0p8     524832   35743  489089    7% /usr

/dev/cciss/c0d0p6     262752    4896  257856    2% /var

所謂的 inode 是用來存放檔案及目錄的基本信息,包含時間、檔名、使用者及群組等。在分割扇區(qū)時,系統(tǒng)會先做出一堆 inode 以供以后使用,inode 的數(shù)量關(guān)系著系統(tǒng)中可以建立的檔案及目錄總數(shù)。如果要存的檔案大部分都很小,則同樣大小的硬盤中會有較多的檔案,也就是說需要較多的 inode 來掛檔案及目錄


贊 (

發(fā)表評論