如何比较两个文件是否完全一样,Windows、MacOS、Linux(使用自带命令比较)certutil,摘要,digest

世界杯男篮2019

背景

如何比较两个文件是否相同的文件?

不同平台,Windows、MacOS、Linux最好是用自带的命令进行比较比较的话一般比较摘要,两个文件的摘要相同就认为相同,摘要的话可以有多钟,一般有md5有没有 “目测” 的方法肯定不能通过文件名相同就认为相同,文件名不同的文件也可能相同

比较方式

1、目测的方法

不需要任何方法,比较两个文件的字节数,如果字节数相同就认为相同。(不是故意为之的话大部分应该是可以认为相同的)

如下都是3字节,但内容不同,显然不能认为是相同的文件

2、Windows上查看两个文件是否相同

certutil是Windows自带的命令,且在环境变量路径里头了,可以直接执行。

直接挑选其中一种算法如MD5即可,filename是文件名(必要时包含文件路径)

# 挑选其一即可,两个文件都用相同的算法比较

certutil -hashfile filename MD5

certutil -hashfile filename SHA1 (默认就是sha1,可以省略参数)

certutil -hashfile filename SHA256

最佳实践:直接使用sha1,因为可以省略参数,比较简单,certutil -hashfile xxx

例如:certutil -hashfile C:\Users\stonewang\Desktop\1.txt MD5

显然,上述字节数相同但内容不同的两个文件有不同的md5值,不是同一个文件

3、Mac上查看两个文件是否相同

shasum也是自带无需安装的,且已经包含在环境变量里头了可以直接执行,filename是文件名(必要时包含路径)

shasum filename

例如:

3、Linux上查看两个文件是否相同

试的是CentOS7,不清楚其他Linux或者其他版本是否有这个命令。

md5sum是自带的且加入了环境变量里头,filename是文件名必要时包含路径

md5sum filename

例如:

三星ProXpressM3875HD如何更换墨盒并清零(详细图文教程)
2003年是什么命