md5sum 为文件夹返回不同的结果,但为什么呢?

Mic*_*ael 1 md5

/tmp/file.txt

tar cvf 1.tar tmp
md5sum 1.tar
c32dc6f04ff02b371129dd4aa923cc12

rm 1.tar
cd tmp
touch test.txt
rm test.txt
cd ..

tar cvf 1.tar tmp
md5sum 1.tar
f9204f04ff02b300130ee4aa234aa78
Run Code Online (Sandbox Code Playgroud)

我不明白为什么这两个校验和不同。如何添加文件然后从 tmp 目录中删除它会创建一个“不同的”tar 文件?

Den*_*son 7

当您创建和删除 test.txt 文件时,目录的修改时间会更新。这就是导致校验和不同的 tar 文件中的差异。

您可以通过ls -ld tmp在触摸和删除文件之前和之后执行操作来查看影响。如果你tar tvf之前和之后做,你也可以看到它。

编辑:

正如LatinSuD 在评论中提到的,tar文件包含有关其中包含的文件和目录的日期、所有者和权限信息。