轉(zhuǎn)自:http://share.blog.51cto.com/278008/201028 du命令用來查看目錄或文件所占用磁盤空間的大小。常用選項(xiàng)組合為:du -sh
一、du的功能:`du` reports the amount of disk space used by the specified files and for each subdirectory (of directory arguments). with no arguments,`du` reports the disk space for the current directory。
很明顯,與df不同,它用來查看文件或目錄所占用的磁盤空間的大小。
二、du常用的選項(xiàng):
-h:以人類可讀的方式顯示
-a:顯示目錄占用的磁盤空間大小,還要顯示其下目錄和文件占用磁盤空間的大小
-s:顯示目錄占用的磁盤空間大小,不要顯示其下子目錄和文件占用的磁盤空間大小
-c:顯示幾個(gè)目錄或文件占用的磁盤空間大小,還要統(tǒng)計(jì)它們的總和
--apparent-size:顯示目錄或文件自身的大小
-l :統(tǒng)計(jì)硬鏈接占用磁盤空間的大小
-L:統(tǒng)計(jì)符號(hào)鏈接所指向的文件占用的磁盤空間大小
一、du -h:這個(gè)就不多說了。
二、du -a:使用此選項(xiàng)時(shí),顯示目錄和目錄下子目錄和文件占用磁盤空間的大小。
![]() 可以看出,默認(rèn)情況下du只顯示download目錄占用磁盤空間的大小,而使用-a選項(xiàng)后,它不僅顯示了目錄(最后一行),而且顯示了目錄下各個(gè)文件占用磁盤空間的大小。
三、du -s:使用此選項(xiàng)時(shí),du只顯示目錄所占用磁盤空間的大小,而不顯示其下子目錄和文件占用磁盤空間的信息。
![]() 默認(rèn)情況下,du不顯示目錄下文件占用磁盤空間的信息,但它會(huì)顯示其下子目錄占用磁盤空間的信息;而使用-s選項(xiàng)以后,只顯示xx目錄占用磁盤空間的大小。
四、du --apparent-size:顯示文件或目錄自身大小,而不是它們占用的磁盤空間大小。文件或目錄占用磁盤空間的大小與它們自身大小有時(shí)候并非完全一致;這種現(xiàn)象非linux所獨(dú)有,windows里也是如此。我們看這個(gè)選項(xiàng)的幫助文檔的解釋:The apparent size of a file is the number of bytes reported by `wc –c` regular files ,or more generally, `ls –l –block-size=1` or `stat –format=%s`.For example, a file containing the word `zoo` with no newline would, of course, have an apparent size of 3. Such a small file may require anywhere from 0 to 16 kib or more of disk space, depending on the type and configuration of the file system on which the file resides.
這段話給出了文件或目錄自身大小與占用磁盤空間大小的區(qū)別。他下面舉出了一個(gè)更加夸張的例子,這里就不把它寫出來了。我們知道了:wc或ls --block-size顯示的是其自身大小,而du給出的則是占用的磁盤空間的大小。
![]() 五、du -c:使用此選項(xiàng)時(shí),不僅顯示幾個(gè)文件或目錄各自占用磁盤空間的大小,還統(tǒng)計(jì)它們的總和。
![]() 如圖所示,加上-c選項(xiàng)后,du不僅顯示兩個(gè)目錄各自占用磁盤空間的大小,還在最后一行統(tǒng)計(jì)它們的總和。 六、du -l:這個(gè)選項(xiàng)主要是針對(duì)硬鏈接。在統(tǒng)計(jì)目錄占用磁盤空間大小時(shí),-l選項(xiàng)會(huì)把硬鏈接也統(tǒng)計(jì)進(jìn)來。幫助文檔是這樣解釋的:Count the size of all files,even if they have appeared already(as a hard link)。
![]() 我們?cè)赿ownload目錄下建立一個(gè)硬鏈接,指向本目錄下的一個(gè)文件。不使用-l選項(xiàng)時(shí),du發(fā)現(xiàn)硬鏈接指向本目錄下的文件,于是自動(dòng)忽略該鏈接文件,以免造成重復(fù)統(tǒng)計(jì);使用-l選項(xiàng),du才會(huì)把硬鏈接文件也統(tǒng)計(jì)進(jìn)來。
七、du -L:這個(gè)選項(xiàng)主要是針對(duì)符號(hào)鏈接。它會(huì)把符號(hào)鏈接所指向的文件占用磁盤空間的大小也統(tǒng)計(jì)進(jìn)來。幫助文檔是這樣解釋的:Dereference symbolic links(show the disk space used by the file or directory that the link points to instead of the space used by the link)。 ![]() 我們?cè)赿ownload目錄下創(chuàng)建一個(gè)符號(hào)鏈接,指向本目錄下的一個(gè)文件。我們看到上面圖片中顯示的操作結(jié)果,當(dāng)使用-L選項(xiàng)時(shí),du會(huì)把符號(hào)鏈接所指向的文件的大小也統(tǒng)計(jì)到目錄里來。
另外我們看du -lh的結(jié)果,與du -h相同,好像沒有統(tǒng)計(jì)出符號(hào)鏈接的大??;其實(shí)并非如此。從實(shí)際操作來看,符號(hào)鏈接本身似乎并不占用磁盤空間,所以才出現(xiàn)上述情況。
![]() 最后,du命令在統(tǒng)計(jì)目錄占用磁盤空間時(shí),默認(rèn)不統(tǒng)計(jì)鏈接文件(無論是硬鏈接或是符號(hào)鏈接),所以要用-l和-L選項(xiàng)特地指出來;此外,du命令默認(rèn)不顯示目錄下文件占用磁盤空間的信息,但是卻默認(rèn)顯示其下子目錄所占用磁盤空間的信息。怪哉。
|
|