linux下使用 du查看某個文件或目錄占用磁盤空間的大小方法
du -ah --max-depth=1 這個是我想要的結(jié)果 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:顯示幾個目錄或文件占用的磁盤空間大小,還要統(tǒng)計它們的總和
--apparent-size:顯示目錄或文件自身的大小
-l :統(tǒng)計硬鏈接占用磁盤空間的大小
-L:統(tǒng)計符號鏈接所指向的文件占用的磁盤空間大小
一、du -h:這個就不多說了。
二、du -a:使用此選項時,顯示目錄和目錄下子目錄和文件占用磁盤空間的大小。
可以看出,默認(rèn)情況下du只顯示download目錄占用磁盤空間的大小,而使用-a選項后,它不僅顯示了目錄(最后一行),而且顯示了目錄下各個文件占用磁盤空間的大小。
三、du -s:使用此選項時,du只顯示目錄所占用磁盤空間的大小,而不顯示其下子目錄和文件占用磁盤空間的信息。
默認(rèn)情況下,du不顯示目錄下文件占用磁盤空間的信息,但它會顯示其下子目錄占用磁盤空間的信息;而使用-s選項以后,只顯示xx目錄占用磁盤空間的大小。
四、du --apparent-size:顯示文件或目錄自身大小,而不是它們占用的磁盤空間大小。文件或目錄占用磁盤空間的大小與它們自身大小有時候并非完全一致;這種現(xiàn)象非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.
這段話給出了文件或目錄自身大小與占用磁盤空間大小的區(qū)別。他下面舉出了一個更加夸張的例子,這里就不把它寫出來了。我們知道了:wc或ls --block-size顯示的是其自身大小,而du給出的則是占用的磁盤空間的大小。
五、du -c:使用此選項時,不僅顯示幾個文件或目錄各自占用磁盤空間的大小,還統(tǒng)計它們的總和。
如圖所示,加上-c選項后,du不僅顯示兩個目錄各自占用磁盤空間的大小,還在最后一行統(tǒng)計它們的總和。
六、du -l:這個選項主要是針對硬鏈接。在統(tǒng)計目錄占用磁盤空間大小時,-l選項會把硬鏈接也統(tǒng)計進(jìn)來。幫助文檔是這樣解釋的:Count the size of all files,even if they have appeared already(as a hard link)。
我們在download目錄下建立一個硬鏈接,指向本目錄下的一個文件。不使用-l選項時,du發(fā)現(xiàn)硬鏈接指向本目錄下的文件,于是自動忽略該鏈接文件,以免造成重復(fù)統(tǒng)計;使用-l選項,du才會把硬鏈接文件也統(tǒng)計進(jìn)來。
七、du -L:這個選項主要是針對符號鏈接。它會把符號鏈接所指向的文件占用磁盤空間的大小也統(tǒng)計進(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)。
我們在download目錄下創(chuàng)建一個符號鏈接,指向本目錄下的一個文件。我們看到上面圖片中顯示的操作結(jié)果,當(dāng)使用-L選項時,du會把符號鏈接所指向的文件的大小也統(tǒng)計到目錄里來。
另外我們看du -lh的結(jié)果,與du -h相同,好像沒有統(tǒng)計出符號鏈接的大小;其實并非如此。從實際操作來看,符號鏈接本身似乎并不占用磁盤空間,所以才出現(xiàn)上述情況。
最后,du命令在統(tǒng)計目錄占用磁盤空間時,默認(rèn)不統(tǒng)計鏈接文件(無論是硬鏈接或是符號鏈接),所以要用-l和-L選項特地指出來;此外,du命令默認(rèn)不顯示目錄下文件占用磁盤空間的信息,但是卻默認(rèn)顯示其下子目錄所占用磁盤空間的信息。怪哉。
du -sh : 查看當(dāng)前目錄總共占的容量。而不單獨列出各子項占用的容量
du -lh --max-depth=1 : 查看當(dāng)前目錄下一級子文件和子目錄占用的磁盤容量。
以上這篇linux下使用 du查看某個文件或目錄占用磁盤空間的大小方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vmware中CentOS7網(wǎng)絡(luò)設(shè)置教程詳解
這篇文章主要為大家詳細(xì)介紹了vmware中CentOS7網(wǎng)絡(luò)設(shè)置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07CentOS 8.1下搭建LEMP(Linux+Nginx+MySQL+PHP)環(huán)境(教程詳解)
LEMP是一個軟件堆棧,包含一組免費的開源工具,這些工具用于為高流量和動態(tài)網(wǎng)站提供動力。 這篇文章給大家介紹如何在CentOS 8 Linux發(fā)行版上安裝LEMP服務(wù)器,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的工作或?qū)W習(xí)具有一定的參考借鑒價值,需要的朋友參考下吧2020-03-03CentOS7 LNMP+phpmyadmin環(huán)境搭建 第二篇LNMP環(huán)境搭建教程
這篇文章主要為大家詳細(xì)介紹了CentOS7 LNMP+phpmyadmin環(huán)境搭建,第二篇LNMP環(huán)境搭建教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07Linux下二進(jìn)制編譯安裝MySql centos7的教程
這篇文章主要介紹了Linux下二進(jìn)制編譯安裝MySql centos7的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09