![]() |
1
2
Git知道tar文件是否已更改,就像它检测其他文件是否已更改一样:它比较文件的内容。这可能与逐字节比较它们或者先计算文件的散列,然后比较散列一样简单。由于Git内部存储所有已知文件及其散列,因此可以使用它来代替进行昂贵的逐字节比较。 要使用该功能,只需使用Git本身来比较文件系统上的任意两个文件:
或者,如果没有Git可用,可以使用
另一个选择是手动计算两个文件的校验和,然后比较校验和。如果校验和不同,那么文件肯定是不同的。如果校验和是相同的,那么很可能文件内容也是相同的,但是仍然存在散列冲突的可能性,因此为了确定,您必须逐字节比较文件。 计算和比较两个文件的校验和的简单方法如下:
注意IO重定向,这样即使文件名不同,输出也相同。
当然,您可以使用任何其他散列算法,如
|
|
user2373210 · Untar文件不到一天 7 年前 |
![]() |
NSTNF · 使用golang io的错误。管道到tar文件 7 年前 |
![]() |
Van Peer · 查询tar和。快照目录 7 年前 |
![]() |
Tom · 比较文件夹,创建差异存档 8 年前 |
![]() |
Sean · 在Python中将目录传递给变量 8 年前 |
![]() |
DenCowboy · Docker卷:备份 9 年前 |
![]() |
jzg.dev · 创建多个tar。来自多个目录的gz存档 9 年前 |