linux下的二进制文件比较命令cmp

cmp 比较二进制文件内容差异

功能:cmp 命令逐字节比较两个文件内容。如果两个文件内容完全,则cmp命令不显示任何内容。若两个文件内容有差异,会显示第一个不同之处的字节数和行数编号。如果文件是 “-” 或没给出,则从标准输入读入内容。
一般用cmp命令比较二进制文件,diff命令比较文本文件。

语法:cmp    [选项]   [文件1] [文件2]
-l --verbose 显示每一个不同点的字节号(10进制)和不同点的字节内容(8进制)
-b --print-bytes 显示文件不同的字节
-i NUM --ignore-initial=NUM 越过开始的NUM个字节开始比较。
-i NUM:NUM2 --ignore-initial=NUM:NUM2 第一个文件越过开始的NUM1个字节,第二个文件越过开始的NUM2个字节,开始比较。
-n NUM --bytes=NUM 设定比较的上限,最多比较 NUM 个字节。
-s --quiet
--silent
抑制所有的默认输出。
文件相同只返回0;文件不同返回1;发生错误返回2.

NUM值可以加上以下的单位:kB=1000、K=1024、MB=1000000、M=1048576、GB=1000000000、G=1073741824,还有 T、P、E、Z、Y 如此类推。

 

不使用参数,直接比较两个文件 
$ cmp file1 file2 
file1 file2 differ: char 23, line 6   若输出是这结果。那么说明file1文件与file2文件内容在第6行的第23个字符开始有差异 
cmp: EOF on file1   若输出是这样的结果。那么说明file2前半部分与file1相同。但在file2中还有其他数据。 
 
 
参数 -l ,显示差异的位置以及字符内容 
$ cmp -l file1 file2 
34 75 53   在34个字节处两个文件开始不同,其中一个内容是75(八进制),另一个是53(八进制) 

 

cmp 实例

[root@linuxyw linuxyw]# cat lampweb.txt 查看内容 
123 
11 
[root@linuxyw linuxyw]# cat lampweb.org 查看内容 
11111111111111111111111 
 
[root@linuxyw linuxyw]# cmp -l lampweb.txt lampweb.org cmp比较差异 
2  62  61 
3  63  61 
4  12  61 
7  12  61 
cmp: EOF on linuxyw.txt 
  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值