`du -sh`在同一文件夹的不同机器上产生不同的结果

时间:2016-06-15 01:29:19

标签: linux ubuntu suse

我使用rsync从一台机器同步到另一台机器(所以我认为它应该是包含相同文件集的同一文件夹 - 它只包含文件)

当我在原始机器上执行du -sh时,它会生成:

4.0M   .

但是在我的电脑上,它会产生:

3.5M   .

当我在两台机器上的文件夹中ls -lh时,每个文件的结果都相同。

我问过某人,他们告诉我使用du -bc,这次结果现在一样。

原始服务器正在运行“SUSE Linux Enterprise Server 11 SP2”,而我的计算机正在运行Ubuntu 12.04。

所以du -sh的实施似乎有所不同?或者为什么它对同一组文件有所不同?

1 个答案:

答案 0 :(得分:0)

du计算磁盘使用情况,而不是文件大小。

文件系统如何为文件分配存储空间的差异可能会导致同一组文件的磁盘使用情况不同。

磁盘使用可能不同的一些可能原因,这不是详尽的列表:

  1. 您使用不同的文件系统(例如ext4 vs btrfs)
  2. 文件系统配置不同(例如,不同的块大小,日记选项,文件系统压缩)
  3. 文件系统使用的分配策略
  4. 稀疏文件可能看起来更大但使用更小的磁盘大小
  5. 硬链接共享磁盘空间