在linux中,可以使用du命令查看目錄占用空間大小,語法“du [選項(xiàng)] [目錄或文件名]”;常用選項(xiàng)有“-a”顯示當(dāng)前目錄和子目錄/文件占用的磁盤空間大小,“-s”只顯示當(dāng)前目錄占用的磁盤空間大小,“–apparent-size”顯示目錄或文件自身的大小,“-l”統(tǒng)計(jì)硬鏈接占用磁盤空間的大小,“-L”統(tǒng)計(jì)符號(hào)鏈接所指向的文件占用的磁盤空間大小。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
在linux中,可以使用du命令查看目錄占用空間大小。
linux du命令
du 是統(tǒng)計(jì)目錄或文件所占磁盤空間大小的命令。
需要注意的是,使用"ls -r"命令是可以看到文件的大小的。但是大家會(huì)發(fā)現(xiàn),在使用"ls -r"命令査看目錄大小時(shí),目錄的大小多數(shù)是 4KB,這是因?yàn)槟夸浵碌淖幽夸浢妥游募潜4娴礁改夸浀?block(默認(rèn)大小為 4KB)中的,如果父目錄下的子目錄和子文件并不多,一個(gè) block 就能放下,那么這個(gè)父目錄就只占用了一個(gè) block 大小。
大家可以將其想象成圖書館的書籍目錄和實(shí)際書籍。如果我們用"ls-l"命令査看,則只能看到這些書籍占用了 1 頁紙的書籍目錄,但是實(shí)際書籍到底有多少是看不到的,哪怕它堆滿了幾個(gè)房間。
但是我們?cè)诮y(tǒng)計(jì)目錄時(shí),不是想看父目錄下的子目錄名和子文件名到底占用了多少空間,而是想看父目錄下的子目錄和子文件的總磁盤占用量大小,這時(shí)就需要使用 du 命令才能統(tǒng)計(jì)目錄的真正磁盤占用量大小。
du 命令的格式如下:
du [選項(xiàng)] [目錄或文件名]
du常用的選項(xiàng):
-
-h:以人類可讀的方式顯示
-
-a:顯示目錄占用的磁盤空間大小,還要顯示其下目錄和文件占用磁盤空間的大小
-
-s:顯示目錄占用的磁盤空間大小,不要顯示其下子目錄和文件占用的磁盤空間大小
-
-c:顯示幾個(gè)目錄或文件占用的磁盤空間大小,還要統(tǒng)計(jì)它們的總和
-
–apparent-size:顯示目錄或文件自身的大小
-
-l :統(tǒng)計(jì)硬鏈接占用磁盤空間的大小
-
-L:統(tǒng)計(jì)符號(hào)鏈接所指向的文件占用的磁盤空間大小
du 命令的使用示例
1、du -h
2、du -a
使用此選項(xiàng)時(shí),顯示目錄和目錄下子目錄和文件占用磁盤空間的大小。
可以看出,默認(rèn)情況下du只顯示./目錄占用磁盤空間的大小,而使用-a選項(xiàng)后,它不僅顯示了目錄(最后一行),而且顯示了目錄下各個(gè)文件占用磁盤空間的大小。
3、du -s
使用此選項(xiàng)時(shí),du只顯示目錄所占用磁盤空間的大小,而不顯示其下子目錄和文件占用磁盤空間的信息。
默認(rèn)情況下,du不顯示目錄下文件占用磁盤空間的信息,但它會(huì)顯示其下子目錄占用磁盤空間的信息;而使用-s選項(xiàng)以后,只顯示xx目錄占用磁盤空間的大小。
4、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給出的則是占用的磁盤空間的大小。
5、du -c
使用此選項(xiàng)時(shí),不僅顯示幾個(gè)文件或目錄各自占用磁盤空間的大小,還統(tǒng)計(jì)它們的總和
如圖所示,加上-c選項(xiàng)后,du不僅顯示兩個(gè)目錄各自占用磁盤空間的大小,還在最后一行統(tǒng)計(jì)它們的總和
6、du -lh –max-depth=1
查看當(dāng)前目錄下一級(jí)子文件和子目錄占用的磁盤容量。