背景

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

  • 不同平台,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

例如:
在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐