简明Linux命令行笔记:cmp
比较两个文件
cmp [options] file1 file2
cmp用来逐个字节地比较两个文件。如果两个文件相同,则cmp不显示任何内容;否则,cmp将显示地一个不同处对应的字节数和行号
参数
file1 和 file2 是cmp要比较的两个文件的路径名,如果省略file2,cmp就用标准输入代替
选项
-b 显示第一个不同字节的更多信息,包括文件名、字节数、行号、八进制数和ASCII值
-l 不在第一个不同的字节数停止比较,而是继续比较两个文件并显示具体信息
-s 禁止从cmp输出,仅用来退出状态(跑龙套的)
示例
cmp
$ cmp a b a b 不同:第 8 字节,第 1 行
直接比较
cmp -b
$ cmp -b a b a b 不同:第 1 行,第 8 字节为 12 ^J 150 h
比较第一个不同字节的详细信息
cmp -l
$ cmp -l a b 8 12 150 9 61 12 10 62 61 11 63 62 12 64 63 13 65 64 14 66 65 15 67 66 16 12 67 cmp:a 已结束
比较所有不同字节
Tips
cmp非常不直观,大部分情况下有更好的diff用于比较,看不懂就略过吧