知道两个二进制文件是否相同(除了时间戳)最简单的方法是什么(在Ubuntu Linux上使用图形工具或命令行)?我不需要提取差值。我只需要知道它们是否相同。
当前回答
使用sha1生成校验和:
sha1 [FILENAME1]
sha1 [FILENAME2]
其他回答
使用cmp命令。如果它们是二进制相等,这将干净地退出,或者它将打印出第一个差值发生的位置并退出。
Radiff2是一个用来比较二进制文件的工具 常规diff比较文本文件。
尝试raddiff2,它是radare2反汇编程序的一部分。例如,使用以下命令:
radiff2 -x file1.bin file2.bin
您将得到非常格式化的两列输出,其中突出显示了差异。
标准的unix diff将显示文件是否相同:
[me@host ~]$ diff 1.bin 2.bin
Binary files 1.bin and 2.bin differ
如果该命令没有输出,则意味着文件没有差异。
我最喜欢的使用xxd十六进制转储从vim包:
1)使用vimdiff (vim的一部分)
#!/bin/bash
FILE1="$1"
FILE2="$2"
vimdiff <( xxd "$FILE1" ) <( xxd "$FILE2" )
2)使用diff
#!/bin/bash
FILE1=$1
FILE2=$2
diff -W 140 -y <( xxd $FILE1 ) <( xxd $FILE2 ) | colordiff | less -R -p ' \| '
有一种相对简单的方法来检查两个二进制文件是否相同。
如果你在编程语言中使用文件输入/输出;您可以将这两个二进制文件的每一位存储到它们自己的数组中。
在这一点上,检查非常简单:
if(file1 != file2){
//do this
}else{
/do that
}
推荐文章
- 从包含文件名的路径获取不包含文件名的完整路径
- 使用vimdiff查看所有' git diff '
- Git:从另一个分支复制目录中的所有文件
- PHP,获取没有文件扩展名的文件名
- 如何在远程系统上使用Ansible任务移动/重命名文件
- 从java.io.File获取java.nio.file.Path对象
- 用c#编写数据到CSV文件
- 安卓系统;检查文件是否存在而不创建新的文件
- 如何改变。net WebClient对象的超时时间
- 我应该如何使用git差异长行?
- 在python中将整数转换为二进制
- 我如何可以删除在VIM所有文本从当前行文件结束?
- 如何比较二进制文件,以检查他们是否相同?
- 如何使用open with语句打开文件
- 在Git的diff提交范围中,双点“..”和三点“…”有什么区别?