首頁 > linux教程 > Linux文件系統管理 閱讀:0更新時間:2020-03-28 01:00:40

Linux du命令:統計目錄或文件所占磁盤空間大小

du 是統計目錄或文件所占磁盤空間大小的命令。

需要注意的是,使用"ls -r"命令是可以看到文件的大小的。但是大家會發現,在使用"ls -r"命令査看目錄大小時,目錄的大小多數是 4KB,這是因為目錄下的子目錄名和子文件名是保存到父目錄的 block(默認大小為 4KB)中的,如果父目錄下的子目錄和子文件并不多,一個 block 就能放下,那么這個父目錄就只占用了一個 block 大小。

大家可以將其想象成圖書館的書籍目錄和實際書籍。如果我們用"ls-l"命令査看,則只能看到這些書籍占用了 1 頁紙的書籍目錄,但是實際書籍到底有多少是看不到的,哪怕它堆滿了幾個房間。

但是我們在統計目錄時,不是想看父目錄下的子目錄名和子文件名到底占用了多少空間,而是想看父目錄下的子目錄和子文件的總磁盤占用量大小,這時就需要使用 du 命令才能統計目錄的真正磁盤占用量大小。

du 命令的格式如下:

[root@localhost ~]# du [選項] [目錄或文件名]

選項:
  • -a:顯示每個子文件的磁盤占用量。默認只統計子目錄的磁盤占用量
  • -h:使用習慣單位顯示磁盤占用量,如 KB、MB 或 GB 等;
  • -s:統計總磁盤占用量,而不列出子目錄和子文件的磁盤占用量

【例 1】

[root@localhost ~]# du
#統計當前目錄的總磁盤占用量大小,同時會統計當前目錄下所有子目錄的磁盤占用量大小,不統計子文件
#磁盤占用量的大小。默認單位為KB
20 ./.gnupg
#統計每個子目錄的大小
24 ./yum.bak
8 ./dtest
28 ./sh
188
#統計當前目錄總大小


【例 2】

[root@localhost ~]# du -a
#統計當前目錄的總大小,同時會統計當前目錄下所有子文件和子目錄磁盤占用量的大小。默認單位為 KB

4 ./.bashjogout
36 ./install.log
4 ./.bash_profile
4 ./.cshrc
…省略部分輸出…
188


【例 3】

[root@localhost ~]# du -sh
#只統計磁盤占用量總的大小,同時使用習慣單位顯示
188K .

du命令和df命令的區別

有時我們會發現,使用 du 命令和 df 命令去統計分區的使用情況時,得到的數據是不一樣的。那是因為df命令是從文件系統的角度考慮的,通過文件系統中未分配的空間來確定文件系統中已經分配的空間大小。也就是說,在使用 df 命令統計分區時,不僅要考慮文件占用的空間,還要統計被命令或程序占用的空間(最常見的就是文件已經刪除,但是程序并沒有釋放空間)。

而 du 命令是面向文件的,只會計算文件或目錄占用的磁盤空間。也就是說,df 命令統計的分區更準確,是真正的空閑空間。

beylze編程學院,一個分享編程知識和seo優化知識的網站。跟著beylze一起學習,每天都有進步。

通俗易懂,深入淺出,一篇文章只講一個知識點。

文章不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以閱讀,隨時隨地漲姿勢。

文章不涉及代碼,不燒腦細胞,人人都可以學習。

當你決定關注beylze(公眾號:beylze),你已然超越了90%的其他從業者!

相關文章

優秀教程

国产亚洲欧美日韩