Linux下查看分區內目錄及文件佔用空間容量

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

 

du -ah --max-depth=1     這個是我想要的結果  a顯示目錄佔用的磁盤空間大小,還要顯示其下目錄和文件佔用磁盤空間的大小可是因爲用了--max-depth選項,表示顯示目錄下全部的文件和文件夾(不含子目錄),h表示以人類能看懂的方式,max-depth表示目錄的深度。html

du命令用來查看目錄或文件所佔用磁盤空間的大小。經常使用選項組合爲:du -shlinux

  1、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不一樣,它用來查看文件或目錄所佔用的磁盤空間的大小。
  2、du經常使用的選項:
   -h:以人類可讀的方式顯示
   -a:顯示目錄佔用的磁盤空間大小,還要顯示其下目錄和文件佔用磁盤空間的大小
   -s:顯示目錄佔用的磁盤空間大小,不要顯示其下子目錄和文件佔用的磁盤空間大小
  -c:顯示幾個目錄或文件佔用的磁盤空間大小,還要統計它們的總和
  --apparent-size:顯示目錄或文件自身的大小
  -l :統計硬連接佔用磁盤空間的大小
  -L:統計符號連接所指向的文件佔用的磁盤空間大小
  1、du -h:這個就很少說了。
  2、du -a:使用此選項時,顯示目錄和目錄下子目錄和文件佔用磁盤空間的大小。
  能夠看出,默認狀況下du只顯示download目錄佔用磁盤空間的大小,而使用-a選項後,它不只顯示了目錄(最後一行),並且顯示了目錄下各個文件佔用磁盤空間的大小。
  3、du -s:使用此選項時,du只顯示目錄所佔用磁盤空間的大小,而不顯示其下子目錄和文件佔用磁盤空間的信息。
  默認狀況下,du不顯示目錄下文件佔用磁盤空間的信息,但它會顯示其下子目錄佔用磁盤空間的信息;而使用-s選項之後,只顯示xx目錄佔用磁盤空間的大小。
  4、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.
  這段話給出了文件或目錄自身大小與佔用磁盤空間大小的區別。他下面舉出了一個更加誇張的例子,這裏就不把它寫出來了。咱們知道了:wc或ls --block-size顯示的是其自身大小,而du給出的則是佔用的磁盤空間的大小。
  5、du -c:使用此選項時,不只顯示幾個文件或目錄各自佔用磁盤空間的大小,還統計它們的總和。

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

  7、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)。windows

   咱們在download目錄下建立一個符號連接,指向本目錄下的一個文件。咱們看到上面圖片中顯示的操做結果,當使用-L選項時,du會把符號連接所指向的文件的大小也統計到目錄裏來。
  另外咱們看du -lh的結果,與du -h相同,好像沒有統計出符號連接的大小;其實並不是如此。從實際操做來看,符號連接自己彷佛並不佔用磁盤空間,因此纔出現上述狀況。
 
  最後,du命令在統計目錄佔用磁盤空間時,默認不統計連接文件(不管是硬連接或是符號連接),因此要用-l和-L選項特意指出來;此外,du命令默認不顯示目錄下文件佔用磁盤空間的信息,可是卻默認顯示其下子目錄所佔用磁盤空間的信息。怪哉。

 

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

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

相關文章
相關標籤/搜索