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

Linux `du-sh`在不同的机器上为同一文件夹生成不同的结果,linux,ubuntu,suse,Linux,Ubuntu,Suse,我使用rsync从一台机器同步到另一台机器(因此我认为它应该是包含同一组文件的同一文件夹——而且它只包含文件) 当我在原始机器上执行du-sh时,它会产生: 4.0M . 3.5M . 但在我的电脑上,它产生: 4.0M . 3.5M . 当我在两台机器上的文件夹中执行ls-lh时,每个文件的结果都是相同的 我问了一些人,他们告诉我使用du-bc,这次结果是一样的 原始服务器运行的是“SUSE Linux Enterprise server 11 SP2”,我的计算机运行

我使用rsync从一台机器同步到另一台机器(因此我认为它应该是包含同一组文件的同一文件夹——而且它只包含文件)

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

4.0M   .
3.5M   .
但在我的电脑上,它产生:

4.0M   .
3.5M   .
当我在两台机器上的文件夹中执行
ls-lh
时,每个文件的结果都是相同的

我问了一些人,他们告诉我使用
du-bc
,这次结果是一样的

原始服务器运行的是“SUSE Linux Enterprise server 11 SP2”,我的计算机运行的是Ubuntu 12.04


因此,在
du-sh
的实现中似乎存在一些差异?或者为什么同一组文件不同?

du计算磁盘使用率,而不是文件大小

文件系统为文件分配存储的方式不同,可能会导致同一组文件的磁盘使用情况不同

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

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

  • 我投票结束这个问题,因为它与编程无关。试试@mustaccio,谢谢。我现在明白了。我将在unix stackexchange中询问,如果我使用
    du-bc
    (我认为这是计算二进制大小),那么这两个文件系统会产生相同的结果。大约5个,没有硬链接。但是谢谢你的回答(我对文件系统和相关知识不太熟悉。我稍后会用谷歌搜索并检查我的两台机器。@JunchaoGu:-b统计文件的外观大小,即可以从文件中读取的数据量。你应该检查
    man du
    ,它解释了你需要知道的关于那里的标志的一切。