如何在Linux中比较二进制文件的前N个字节

如何在Linux中比较二进制文件的前N个字节,linux,diff,binaryfiles,Linux,Diff,Binaryfiles,我有两个大小不同的二进制文件。我需要比较Linux中这些文件的前N个字节。我希望结果是“是”(相同)或“否”(不相同),而不是逐字节比较。N可以在KBs到GBs之间变化 目前我正在使用以下方法: head -c N input1.dat | rdiff signature >1.sig head -c N input2.dat | rdiff signature >2.sig diff 1.sig 2.sig 但我想知道是否还有另一种更简单的方法。 谢谢。试试cmp: cmp -n

我有两个大小不同的二进制文件。我需要比较Linux中这些文件的前N个字节。我希望结果是“是”(相同)或“否”(不相同),而不是逐字节比较。N可以在KBs到GBs之间变化

目前我正在使用以下方法:

head -c N input1.dat | rdiff signature >1.sig
head -c N input2.dat | rdiff signature >2.sig
diff 1.sig 2.sig
但我想知道是否还有另一种更简单的方法。 谢谢。

试试
cmp

cmp -n <bytes> file1 file2
cmp-n文件1文件2

从手册页:如果输入相同,则退出状态为0;如果输入不同,则退出状态为1;如果输入有问题,则退出状态为2。

是的,看起来正是我需要的:)谢谢。