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