问题来源
我们的linux团队采用统一开发服务器进行开发,windows主机通过samba的方式加载服务器上的文件夹。
今天,一个团队的人发现同一个文件,服务器上看和windows上看,时间不一样,担心发错版本给前方。
由于不是常见的两个文件进行比对,因此,无法使用beyond compare等常见的对比软件进行对比。
问题本质
本质的问题是:
如何在两套系统中判断同一个名字的文件是否相同。
解决方案
采用Hash进行判断是最简单、准确的方法
解决方法
Hash有很多方法,这里以md5为例。
Linux
md5sum ${FILE_NAME}
即可得出哈希值
Windows
certutil -hashfile ${FILE_NAME} MD5
注意:certutil是windows默认自带的,无需安装
(小技巧:在目标文件夹下,按住shift再右键,会有“在此处打开命令窗口”,这样就不需要老在cd了)
结果
比对两个系统计算出来的hash值,如果一样,说明文件是相同的,反之亦然。