为什么“du -b”显示的大小与“右键单击”不同?文件浏览器中的“属性”?

Dav*_*ave 5 ls size directory disk-usage files

命令

du -b /home/user/directory
Run Code Online (Sandbox Code Playgroud)

显示的文件大小与手动“右键单击”同一目录并在常见文件浏览器(如NautilusPCManFMWindows 资源管理器或其他)中选择“属性”所显示的文件大小完全不同。


请求文件大小的示例:

  • 通过文件浏览器:“右键单击”?目录上的“属性”显示了 8.141.120 字节的明显(实际)文件大小。另一方面,已用磁盘空间有 8.155.136 字节,并且有点高(由于碎片等)。
  • Via du -b:显示 8.145.216 字节的莫名大小(这既不是使用文件浏览器的前一种方法的表观大小也不是已用磁盘空间)。

我已经知道du-command 将显示已使用的磁盘空间而不是目录的明显大小。与du -b一个可以更改默认行为,显示明显的(真实)的大小来代替。然而,在“属性”中,实际大小和使用的磁盘空间都与上述输出完全不同du -b


这是什么原因?如果我想显示与通过“右键单击在文件浏览器中显示的值完全相同的真实(明显)文件或目录大小我必须使用哪个 CLI 命令?“属性”?

我要求这样做是因为我想创建一些简单的 bash 脚本来比较执行备份后 HDD1 和 HDD2 上内容的实际大小。这应该在可能的高位精度内进行比较。在这种情况下,比较已用磁盘空间没有意义,因为它们在两个驱动器上都非常不同。

小智 3

8,145,216 字节和 8,141,120 字节之间的差异是 4,096 字节,正好是 4kB。在 ext4 中,目录以 4kB 的块存储,这表明示例中的目录具有相对较少的文件数量,并且没有子目录。

du在其输出中包含这 4kB,而根据我自己的测试,文件管理器(如 Nautilus)似乎没有。