linux下使用 du查看某個文件或目錄佔用磁盤空間的大小

du -ah --max-depth=1     這個是我想要的結果  a表示顯示目錄下所有的文件和文件夾(不含子目錄),h表示以人類能看懂的方式,max-depth表示目錄的深度。

du命令用來查看目錄或文件所佔用磁盤空間的大小。常用選項組合爲: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常用的選項:
  -h:以人類可讀的方式顯示
  -a:顯示目錄佔用的磁盤空間大小,還要顯示其下目錄和文件佔用磁盤空間的大小
  -s:顯示目錄佔用的磁盤空間大小,不要顯示其下子目錄和文件佔用的磁盤空間大小
  -c:顯示幾個目錄或文件佔用的磁盤空間大小,還要統計它們的總和
  --apparent-size:顯示目錄或文件自身的大小
  -l :統計硬鏈接佔用磁盤空間的大小
  -L:統計符號鏈接所指向的文件佔用的磁盤空間大小
  一、du -h:這個就不多說了。
  二、du -a:使用此選項時,顯示目錄和目錄下子目錄和文件佔用磁盤空間的大小。
  可以看出,默認情況下du只顯示download目錄佔用磁盤空間的大小,而使用-a選項後,它不僅顯示了目錄(最後一行),而且顯示了目錄下各個文件佔用磁盤空間的大小。
  三、du -s:使用此選項時,du只顯示目錄所佔用磁盤空間的大小,而不顯示其下子目錄和文件佔用磁盤空間的信息。
  默認情況下,du不顯示目錄下文件佔用磁盤空間的信息,但它會顯示其下子目錄佔用磁盤空間的信息;而使用-s選項以後,只顯示xx目錄佔用磁盤空間的大小。
  四、du --apparent-size:顯示文件或目錄自身大小,而不是它們佔用的磁盤空間大小。文件或目錄佔用磁盤空間的大小與它們自身大小有時候並非完全一致;這種現象非linux所獨有,windows裏也是如此。我們看這個選項的幫助文檔的解釋: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.
  這段話給出了文件或目錄自身大小與佔用磁盤空間大小的區別。他下面舉出了一個更加誇張的例子,這裏就不把它寫出來了。我們知道了:wcls --block-size顯示的是其自身大小,而du給出的則是佔用的磁盤空間的大小。
  五、du -c:使用此選項時,不僅顯示幾個文件或目錄各自佔用磁盤空間的大小,還統計它們的總和。

如圖所示,加上-c選項後,du不僅顯示兩個目錄各自佔用磁盤空間的大小,還在最後一行統計它們的總和。
  六、du -l:這個選項主要是針對硬鏈接。在統計目錄佔用磁盤空間大小時,-l選項會把硬鏈接也統計進來。幫助文檔是這樣解釋的:Count the size of all files,even if they have appeared already(as a hard link)
  我們在download目錄下建立一個硬鏈接,指向本目錄下的一個文件。不使用-l選項時,du發現硬鏈接指向本目錄下的文件,於是自動忽略該鏈接文件,以免造成重複統計;使用-l選項,du纔會把硬鏈接文件也統計進來。

  七、du -L:這個選項主要是針對符號鏈接。它會把符號鏈接所指向的文件佔用磁盤空間的大小也統計進來。幫助文檔是這樣解釋的: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)

   我們在download目錄下創建一個符號鏈接,指向本目錄下的一個文件。我們看到上面圖片中顯示的操作結果,當使用-L選項時,du會把符號鏈接所指向的文件的大小也統計到目錄裏來。
  另外我們看du -lh的結果,與du -h相同,好像沒有統計出符號鏈接的大小;其實並非如此。從實際操作來看,符號鏈接本身似乎並不佔用磁盤空間,所以纔出現上述情況。
  最後,du命令在統計目錄佔用磁盤空間時,默認不統計鏈接文件(無論是硬鏈接或是符號鏈接),所以要用-l-L選項特地指出來;此外,du命令默認不顯示目錄下文件佔用磁盤空間的信息,但是卻默認顯示其下子目錄所佔用磁盤空間的信息。怪哉。

 

du -sh : 查看當前目錄總共佔的容量。而不單獨列出各子項佔用的容量 

du -lh --max-depth=1 : 查看當前目錄下一級子文件和子目錄佔用的磁盤容量。

 

原文:http://www.cnblogs.com/kobe8/p/3825461.html

發佈了47 篇原創文章 · 獲贊 34 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章