Filesystems

du -b 顯示的大小與 ls 不同

  • December 4, 2015

我有一個包含幾百個文件的目錄(真實文件,沒有符號連結,沒有子目錄)。

當我ls -la在 Excel 中使用和總結大小時,我得到287190字節(?)。

當我使用du -bdu --apparent-size --block-size=1得到422358字節時(?)。

我以為這兩個意思是一樣的,為什麼不一樣呢?

du給出磁碟使用情況,它與所有文件大小的總和不同。

例如,adu -b file將提供與創建目錄“dir”不同的輸出,將相同的文件放在“dir”中並執行du -b dir. 在我的系統上,目錄的“成本”有 30 個額外字節。根據目錄的內容,我想目錄大小會改變(但如果它是完全線性的,我會感到驚訝)。

此外,差異的相對大小意味著您可能錯過了一個包含很多文件的隱藏目錄,或者您可能錯過了很多隱藏文件(即使您確實使用了 -a 標誌)。

此外,如果一個工具跟隨它們而另一個工具沒有跟隨它們,則可能存在導致差異的符號連結。

最後,對於某些文件系統,如果文件的內容足夠小,它們可能會內聯到文件系統 INode 中,並且對於許多文件系統,即使該塊沒有完全使用,也會保留一個塊來保存文件的內容. 在嘗試比較兩者時,這些變化會增加額外的噪音。

引用自:https://unix.stackexchange.com/questions/247429