cmp 命令可以用来比较任何类型的文件,并在标准输出显示文件第一次不同处的行号和字节号,字节号从1开始。但是,该命令一般用来比较文本文件,判断两个文件是否相同以及查看不同之处的位置。
cmp [-clsv][-i <字符数目>][--help][第一个文件][第二个文件]
-c或--print-chars 除了标明差异处的十进制字码之外,一并显示该字符所对应字符
-i<字符数目>或--ignore-initial=<字符数目> 指定一个数目
-l或--verbose 标示出所有不一样的地方
-s或--quiet或--silent 不显示错误信息
-v或--version 显示版本信息
--help 在线帮助
(1)假设当前目录下面存在 demo1 和 demo2 两个文件,使用 cmp 命令查看两个文件的差异
[hxstrive@localhost ~]$ cmp demo1 demo2 demo1 demo2 differ: byte 65, line 2
从上面输出信息可知,在第二行的第 65 个字节不同。
(2)比较两个文件是否相同,并显示不同点的详细信息
[hxstrive@localhost ~]$ cmp -l demo1 demo2 65 54 40 66 12 54 67 110 12 68 157 110 ... 130 56 162 131 12 40 cmp: EOF on demo1 after byte 131
(3)分别从 demo1 的第 15 个字节和 demo2 的第 16 个字节开始比较两个文件
[hxstrive@localhost ~]$ cmp -l demo1 demo2 15 16 1 151 156 2 156 40 3 40 141 ... 115 56 40 116 12 56 cmp: EOF on demo1 after byte 116
注意:比较的文件必须存在。不能对目录进行比较,只能对文件进行比较。若一个文件的内容为空,即大小为0B,则将显示“cpm:EOF of file ***”。
更多关于命令详细参考手册,请使用 man 命令或者 --help 参数获取帮助信息