Linux命令完全指南

Linux cmp命令使用详解

Linux cmp命令用于比较两个文件是否有差异。

当相互比较的两个文件完全一样时,则该指令不会显示任何信息。若发现有所差异,预设会标示出第一个不同之处的字符和列数编号。若不指定任何文件名称或是所给予的文件名为”-“,则cmp指令会从标准输入设备读取数据。

用法

cmp [option]… FILE1 [FILE2 [SKIP1 [SKPI2]]]

选项

  • -b, –print-bytes : 打印不同的字节
  • -i, –ignore-initial=SKIP : 跳过两个输入开始的SKIP字节
  • -i, –ignore-initial=SKIP1:SKIP2 : 文件1跳过开始的SKIP1字节,文件2跳过开始的SKIP2个字节
  • -l, –verbose : 标示出所有不一样的地方
  • -s, –quiet, –silent : 不显示错误信息
  • –help : 显示帮助信息
  • -v, –version | 显示版本信息

SKIP值可以使用一些后缀:
kB : 1000
K : 1024
MB : 1000000
M : 1048576
GB : 1000000000
G : 1073741824

可选的SKIP1和SKIP2指定要每个文件的开头跳过的字节数(默认为零)。

实例

要确定两个文件是否相同,请输入:

1
cmp file.bak file

比较文件“tempfile”和“tempfile1” , 除了标明差异处的十进制字码之外,一并显示该字符所对应字符:

1
2
cmp -b tempfile tempfile1
tempfile tempfile1 differ:byte 1, line 1 is 12 'J 151 i