1、命令简介
CMP :cmp命令有用于比较两个任意类型的文件,若两个文件相同则默认不输出任何信息,若两个文件不同,则会输出第一个不同之处的字符和列数编号,结果输出到标准输出。
注意:若不指定任何文件名称或是所给予的文件名为-,则cmp命令会从标准输入设备读取数据。
2、命令用法
cmp options... FromFile [ToFile]
3、命令描述
cmp逐字符报告两个文件之间的差异,而不是逐行。因此,在比较二进制文件时,它比diff更有用。对于文本文件,cmp主要在只想知道两个文件是否相同时有用。对于相同的文件,cmp不产生输出。当文件不同时,默认情况下,cmp输出第一个差异出现的字节偏移量和行号。可以使用-s选项来抑制该信息,这样cmp就不会产生输出,并仅使用其退出状态来报告文件是否不同。与diff不同,cmp不能比较目录;它只能比较两个文件。
4、命令选项
| help | 显示帮助 |
| -v/--version | 显示版本信息 |
| -s/--quit/--silent | 不显示错误信息 |
| -l/--verbose | 标示出所有不一样的地方 |
| -i/--ignore-initial | 指定一个数目 |
| -c/--print-chars | 除了标明差异处的十进制字码之外,一并显示该字符所对应字符 |
5、使用示例
比较两个文件,如果文件相同,则不显示消息。如果文件不同,则显示第一个不同的位置,如下,
[root@kvm4 ~]# cmp file file1
file file1 differ: byte 3, line 2
$ cat 1.txt https://www.cjavapy.com $ cat 2.txt http://www.cjavapy.com $ cmp 1.txt 2.txt 1.txt 2.txt differ: char 5, line 1