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

Rom*_*098 9 linux diff binaryfiles

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

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

head -c N input1.dat | rdiff signature >1.sig
head -c N input2.dat | rdiff signature >2.sig
diff 1.sig 2.sig
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有另一种方法,更简单.谢谢.

Nem*_*emo 20

试试cmp:

cmp -n <bytes> file1 file2
Run Code Online (Sandbox Code Playgroud)

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