1,二者區別
du,disk usage,是經過搜索文件來計算每一個文件的大小而後累加,du能看到的文件只是一些當前存在
的,沒有被刪除的。他計算的大小就是當前他認爲存在的全部文件大小的累加和。
df,disk free,經過文件系統來快速獲取空間大小的信息,當咱們刪除一個文件的時候,這個文件不
是立刻就在文件系統當中消失了,而是暫時消失了,當全部程序都不用時,纔會根據OS的規則釋放掉已
經刪除的文件, df記錄的是經過文件系統獲取到的文件的大小,他比du強的地方就是可以看到已經刪除
的文件,並且計算大小的時候,把這一部分的空間也加上了,更精確了。
當文件系統也肯定刪除了該文件後,這時候du與df就一致了。php
2,du查看目錄大小,df查看磁盤使用狀況。
我常使用的命令(必要時,sudo使用root權限),
1).查看某個目錄的大小:du -hs /home/master/documents
查看目錄下全部目錄的大小並按大小降序排列:sudo du -sm /etc/* | sort -nr | less
2).查看磁盤使用狀況(文件系統的使用狀況):sudo df -h
df --block-size=GB
-h是使輸出結果更易於人類閱讀;du -s只展現目錄的使用總量(不分別展現各個子目錄狀況),-m是以
MB爲單位展現目錄的大小(固然-k/-g就是KB/GB了)。html
3,du使用詳細案例
a:顯示所有目錄和其次目錄下的每一個檔案所佔的磁盤空間
s:只顯示各檔案大小的總合
b:大小用bytes來表示
x:跳過在不一樣文件系統上的目錄不予統計
a:遞歸地顯示指定目錄中各文件及子孫目錄中各文件佔用的數據塊數
...
使用du進行查看
root@tech163:/home/htmlfile# du
16 ./test
60 ./bbb
84 .node
其中第一列是以塊爲單位計的磁盤空間容量,第二列列出目錄中使用這些空間的目錄名稱
1)查看當前目錄包含子目錄的大小
root@tech163:/home/htmlfile# du -sm .
1 .
其中的du -sm . 的「.」是表明當前目錄。
2)查看當前目錄以及子目錄的大小
root@tech163:/home/htmlfile# du -h
16K ./test
60K ./bbb
84K .
其中 -h 表示使用K,M,G的人性化形式顯示。
3)看到當前目錄下的bbb目錄大小,但不想查看其餘目錄以及子目錄
root@tech163:/home/htmlfile# du -ch bbb | tail -n 1
60K total
使用了管道包含了du和tail兩個命令,-c表示最後計算出所列目錄的大小之和。
4)列出當前目錄下全部目錄和文件的大小
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 表示列出一條信息後不換行,接着輸出第二條信息。mysql
4,df詳細案例
a:顯示所有的檔案系統和各分割區的磁盤使用情形
i:顯示i -nodes的使用量
k:大小用k來表示 (默認值)
t:顯示某一個檔案系統的全部分割區磁盤使用量
x:顯示不是某一個檔案系統的全部分割區磁盤使用量
T:顯示每一個分割區所屬的檔案系統名稱
使用df進行查看
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
第一行是文件系統對應的硬盤分區
第二行是分區包含的數據塊的數據(1數據庫爲1024字節)
第三四行是已用和未用的數據塊數組
第五行是普通用戶空間使用的百分比
第六行是文件系統的安裝點
其中第三四行已用和未用數據塊相加並不等於第二行總數據塊,這是由於分區留了少許空間提供給
系統管理員使用。
1)
chenyz@gzhouse:~$ df -h
文件系統 容量 已用 可用 已用% 掛載點
/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
文件系統 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 是用來存放檔案及目錄的基本信息,包含時間、檔名、使用者及羣組等。在分割扇區
時,系統會先作出一堆 inode 以供之後使用,inode 的數量關係着系統中能夠創建的檔案及目錄總數。
若是要存的檔案大部分都很小,則一樣大小的硬盤中會有較多的檔案,也就是說須要較多的 inode 來掛
檔案及目錄sql