cmp - 按字节比较文件

cmp 用于逐字节比较两个文件。默认情况下,如果内容相同则不输出;如果不同,则报告第一个差异的字节位置和行号。

基本语法

cmp [OPTIONS...] FILE1 [FILE2 [SKIP1 [SKIP2]]]

常用参数

  • -b--print-bytes:显示不同的字节。
  • -l--verbose:列出所有不同字节的位置和值。
  • -s--quiet--silent:不输出比较结果,只通过退出状态表示结果。

退出状态:

  • 0:未发现差异。
  • 1:发现差异。
  • 2:发生错误。

使用示例

# 显示第一个差异
cmp file1.txt file2.txt
 
# 静默比较
cmp -s file1.txt file2.txt
 
# 查看静默比较的退出状态
echo $?
 
# 显示所有不同字节
cmp -l file1.txt file2.txt

cmp 与 diff 的区别

  • cmp 按字节比较,适合快速判断两个文件是否完全一致,也适合比较二进制文件。
  • diff 通常按行比较文本,并显示新增、删除和修改的内容,还可以生成补丁。

参考资料