代码之家  ›  专栏  ›  技术社区  ›  meisterluk Michael Borgwardt

所有文件系统的文件大小/状态是否一致?

  •  2
  • meisterluk Michael Borgwardt  · 技术社区  · 8 年前

    我正在考虑编写一个软件,它使用文件大小作为预测试来测试两个文件是否相等。如果简单的文件大小整数比较失败,则无需应用复杂的文件内容比较。软件将被写入 golang (首先),但我认为这个问题可以归结为 stat syscall 因此语言是独立的。

    我需要一个独立于平台的解决方案。它必须跨所有系统和文件系统工作。我可以确定文件内容在所有文件系统中都是相同的字节序列,但是文件大小呢?

    如果我将一个文件从一个文件系统传输到另一个文件系统,是否可以确保在另一个文件系统上获得相同的文件大小?

    [当然,我不关心文件元数据。这显然是不一致的。我只关心内容大小]

    1 回复  |  直到 8 年前
        1
  •  2
  •   itisravi    8 年前

    对, st_size 在所有文件系统中应该是相同的(至少如果它们符合posix)。不管你把一个字节放在哪里,它毕竟是一个字节。不过,消耗的磁盘空间可能不同,这取决于文件系统的底层块大小。