10.5 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 命令去統計分區的使用情況時,得到的數據是不一樣的。那是因為df命令是從文件系統的角度考慮的,通過文件系統中未分配的空間來確定文件系統中已經分配的空間大小。也就是說,在使用 df 命令統計分區時,不僅要考慮文件占用的空間,還要統計被命令或程序占用的空間(最常見的就是文件已經刪除,但是程序并沒有釋放空間)。
而 du 命令是面向文件的,只會計算文件或目錄占用的磁盤空間。也就是說,df 命令統計的分區更準確,是真正的空閑空間。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。