linux cmp 比较命令一

cmp(compare)比较

    功能说明:命令逐字节比较两个文件内容。如果两个文件内容完全,则cmp命令不显示任何内容。若两个文件内容有差异,会显示第一个不同之处的字节数和行数编号。如果文件是 “-” 或没给出,则从标准输入读入内容。

    一般用cmp命令比较二进制文件,diff命令比较文本文件

语  法:cmp [-clsv][-i <字符数目>][--help][第一个文件][第二个文件]

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

参  数:

 -c或--print-chars  除了标明差异处的十进制字码之外,一并显示该字符所对应字符。 

 -i<字符数目>或--ignore-initial=<字符数目>  指定一个数目。 

 -l或--verbose  标示出所有不一样的地方。 

 -s或--quiet或--silent  不显示错误信息。 

 -v或--version  显示版本信息。 

 --help  在线帮助。 

$ cmp file1 file2 
# 若输出是这结果。那么说明file1文件与file2文件内容在第6行的第23个字符开始有差异 
file1 file2 differ: char 23, line 6

判断文件是否一致

[root@auc-test2 11]# if cmp -s a.bak b.bak ;then echo "same";else echo "diff";fi
diff

类似于

[root@auc-test2 11]# cat cmp.sh
#!/bin/bash

if cmp -s a.bak b.bak
then
        echo "file is the same"
else
        echo "file is diffent"
fi