linux中du與df的區別和聯絡
1,兩者區別 du,disk usage,是通過搜尋檔案來計算每個檔案的大小,然後累加,du能看到的檔案只是一些當前存在的,沒有被刪除的。他計算的大小就是,當前他認為存在的所有檔案大小的累加和。
df,disk free,通過檔案系統來快速獲取空間大小的資訊。當我們刪除一個檔案的時候,這個檔案不是馬上就在檔案系統當中消失了,而是暫時消失了,當所有程式都不用時,才會根據OS的規則釋放掉已經刪除的檔案。 df記錄的是通過檔案系統獲取到的檔案的大小,他比du強的地方就是能夠看到已經刪除 的檔案,而且計算大小的時候,把這一部分的空間也加上了,更精確了。
當檔案系統也確定刪除了該檔案後,這時候du與df就一致了。
df [-ahikHTm] [目錄或者資料夾]
引數:
-h : 以交較易識別的方式展示使用量 1111000KB -> XXXMB , 預設以KB的方式顯示
-i : 不使用磁碟容量,用inode 的數量來顯示
-a : 列出所有的檔案系統, 包括系統特有的 /proc 等檔案系統
-k : 以KB的容量顯示 檔案系統 (預設)
-m: 以MB的容量顯示 檔案系統
-H : 以 1000的進位制代替1024的進位制方式
-T : 連同該分割槽的檔案系統的名稱(ext3)等也列出
示例:
df
df -h
df -ah
df -h [dirname|filename]
===============================================
du [-ahskm] 檔案或目錄名稱
-s : 列出總量而已,而不列出每個個別的目錄佔用容量 !!!!
-h : 以易讀的方式(G/M)顯示
-a : 列出所有的檔案與目錄容量,預設僅統計目錄下的檔案量
-S: 不包括目錄下的總計,與-s 有差別
-k: 以KB列出容量顯示
-m: 以MB列出容量顯示
示例:
1)檢視當前目錄以及子目錄的大小 [email protected]:/home/htmlfile# du -h 16K ./test 60K ./bbb 84K . 其中 -h 表示使用K,M,G的人性化形式顯示。2)看到當前目錄下的bbb目錄大小,但不想檢視其他目錄以及子目錄
64K /bbb 3)列出當前目錄下所有目錄和檔案的大小 [email protected]:/home/htmlfile# du -ah bbb 4.0K bbb/MySQL.php 4.0K bbb/index.htm 4.0K bbb/p.php 28K bbb/memcache.php 12K bbb/.session.php.swp 4.0K bbb/hello.html 60K bbb 其中-a表示包含目錄和檔案