linux下使用 du查看某個檔案或目錄佔用磁碟空間的大小方法_Linux

來源:互聯網
上載者:User

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.

這段話給出了檔案或目錄自身大小與佔用磁碟空間大小的區別。他下面舉出了一個更加誇張的例子,這裡就不把它寫出來了。我們知道了:wc或ls --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 : 查看目前的目錄下一級子檔案和子目錄佔用的磁碟容量。

以上這篇linux下使用 du查看某個檔案或目錄佔用磁碟空間的大小方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援雲棲社區。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.