cmp 比较文件

作用

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 参数获取帮助信息

关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号