Files

為什麼“du -b”在文件瀏覽器中顯示的大小與“右鍵點擊”⇨“屬性”不同?

  • September 28, 2017

命令

du -b /home/user/directory

顯示的文件大小與在同一目錄上手動“右鍵點擊”並在常見文件瀏覽器(如NautilusPCManFMWindows Explorer或其他)中選擇“屬性”顯示的文件大小完全不同。


請求文件大小的範例:

  • 通過文件瀏覽器:目錄上的“右鍵點擊”⇨“屬性”顯示一個明顯的(實際)文件大小為 8.141.120 字節。另一方面,已用磁碟空間有 8.155.136 字節,並且略高(因為碎片等)。
  • Via du -b:顯示莫名其妙的大小為 8.145.216 字節(這既不是表觀大小,也不是文件瀏覽器先前方法的已用磁碟空間)。

我已經知道du-command 將顯示已用磁碟空間而不是目錄的表觀大小。可以更改該預設行為以du -b改為顯示表觀(實際)大小。然而,在“屬性”中,實際大小和已用磁碟空間都與du -b.


這是什麼原因?如果我想顯示與通過“右鍵點擊”⇨“*屬性”*在文件瀏覽器中顯示的值完全相同的真實(明顯)文件或目錄大小,我必須使用哪個 CLI 命令?

我要求這樣做是因為我想創建一些簡單的 bash 腳本來比較執行備份後 HDD1 和 HDD2 上內容的實際大小。這應該在可能的高位精度內進行比較。在這種情況下,比較已用磁碟空間是沒有意義的,因為它們在兩個驅動器上非常不同。

8,145,216 字節和 8,141,120 字節之間的差異是 4,096 字節,正好是 4kB。目錄儲存在 ext4 中的 4kB 塊中,這表明您的範例中的目錄具有相對較少的文件數量並且沒有子目錄。

du在其輸出中包含這個 4kB,而根據我自己的測試,文件管理器(如 Nautilus)似乎沒有。

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