1. 程式人生 > >linux中du與df的區別和聯絡

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目錄大小,但不想檢視其他目錄以及子目錄

[email protected]:/home/htmlfile# du -sh 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表示包含目錄和檔案