qq:78080458 学习交流群:150633458
分类: LINUX
2018-11-20 08:22:00
cmp
用字节的方式,比较两个文件是否存在差异,但是不保存运算结果。Cmp指令只会根据结果设置相关的标志位,这个指令之后往往会跟着一个条件跳转指令。
此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、语法
cmp [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]]
2、选项列表
选项 |
说明 |
-v | --version |
显示命令版本信息 |
--help |
显示帮助文档 |
-b | --print-bytes |
输出不同的字节 |
-i num | --ignore-initial=num |
跳过开始的num个字节 |
-i num1 num2 | --ignore-initial=num1:num2 |
第一个文件跳过num1个字节,第二个文件跳过num2个字节 |
-l | --verbose |
输出不同之处的字节序号,以及这个字节的值 |
-n LIMIT | --bytes=LIMIT |
最多比较LIMIT字节 |
-s | --quiet | --silent |
不输出;只输出退出状态 |
3、实例
1)直接比较
[root@localhost weijie]# diff -y 1.c 2.c //首先使用diff查看不同之处 asd | ase sdf | sdd dfg dfg [root@localhost weijie]# cmp 1.c 2.c //开始比较 1.c 2.c differ: byte 3, line 1 //只显示第一个不同之处,第一行,第3个字节 |
2)使用选项-b,显示不同之处的字节
[root@localhost weijie]# cmp -b 1.c 2.c 1.c 2.c differ: byte 3, line 1 is 144 d 145 e //显示不同的地方,第一个文件是d,第二个文件是e。但是这里还是只有第一个不同之处 |
3)使用选项-l,显示所有不同之处
[root@localhost weijie]# cmp -lb 1.c 2.c //同时使用了l 和 b选项 3 144 d 145 e //第一个不同之处 7 146 f 144 d //第二个不同之处 |