知道两个二进制文件是否相同(除了时间戳)最简单的方法是什么(在Ubuntu Linux上使用图形工具或命令行)?我不需要提取差值。我只需要知道它们是否相同。
当前回答
你可以使用MD5哈希函数来检查两个文件是否相同,这样你就不能看到低层次的差异,但这是一个快速比较两个文件的方法。
md5 <filename1>
md5 <filename2>
如果两个MD5哈希值(命令回显)相同,则两个文件没有区别。
其他回答
我最喜欢的使用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 ' \| '
使用cmp命令。如果它们是二进制相等,这将干净地退出,或者它将打印出第一个差值发生的位置并退出。
wxHexEditor
wxHexEditor是免费的,能够Diff大文件高达2^64字节(2 ExaByte)。有一个GUI。跨平台的。很多特性。
要免费获得它,请选择以下选项之一:
选项:Ubuntu包 选择:SourceForge 选择:GitHub
以下是与上面相同的建议。如果你对细节感兴趣的话。
截图
强度
•十六进制(Hex)编辑器。这对逆向工程很有帮助。
•跨平台。Linux, Mac OS, Windows
•易于使用的图形用户界面(GUI)
•支持非常大的文件高达2^64字节(2 ExaByte)
•并排比较两个大文件(diff)。可选的列表和搜索所有差异。
•搜索速度非常快
•使用少量的RAM
•不要创建临时文件。所以它只占用了很小的存储空间。
•黑暗或明亮的主题
15种语言
•开源。如果你不熟悉“开源”,这意味着这个软件有更强的安全性和更强的隐私性。因为它的代码是公开的,可以在https://github.com/EUA/wxHexEditor或https://sourceforge.net/p/wxhexeditor/code/的SourceForge上对GitHub进行审查和贡献
•吸引人的GNU通用公共许可证版本2。这意味着该扩展的软件代码由友好的非营利社区拥有和支持。而不是以营利为目的的公司。https://github.com/EUA/wxHexEditor/blob/master/LICENSE
挑战
•两个代码库之间的混淆。在撰写本文时,即2021年8月,GitHub存储库似乎是最近才出现的。最近一次更新是在2021年,网址是https://github.com/EUA/wxHexEditor 相比之下,https://sourceforge.net/projects/wxhexeditor/上的SourceForge存储库是wxHexEditor的最后一次更新是2017年12月31日。
表示支持
•如果你喜欢这个应用程序,用以下方式表达你对作者和贡献者的支持:
___•捐款:https://www.paypal.com/cgi-bin/webscr?item_name=Donation+to+wxHexEditor&cmd=_donations&business=erdem.ua%40gmail.com
___•支持与票在https://sourceforge.net/projects/wxhexeditor/support
支持论坛https://sourceforge.net/p/wxhexeditor/discussion/
___•补丁在https://sourceforge.net/p/wxhexeditor/patches/
使用
•wxHexEditor 0.23
•Debian 10 Buster
•GNOME 3.30.2
我发现Visual Binary Diff是我正在寻找的,可用的:
Ubuntu: Sudo apt安装vbindiff Arch Linux: sudo pacman -S vbindiff Mac OS X通过MacPorts: 端口安装vbindiff Mac OS X通过Homebrew: 酿造安装vbindiff
使用sha1生成校验和:
sha1 [FILENAME1]
sha1 [FILENAME2]