首页/系统/Linux 运维命令速查/cmp 字节级文件比较
本包目录(613 条)
文件与目录76 条
文本处理77 条
网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

cmp 字节级文件比较

按字节比较两个文件:默认报出第一处差异的位置与内容,-s 静默只靠退出码判断相同与否,是脚本校验的常用手段。

Linux 运维命令速查系统更新于 2026-10-12
用途逐字节比较(二进制/文本都可用)
语法cmp [选项] 文件1 文件2
退出码0 相同 / 1 有差异 / 2 出错

常用示例

常用示例
cmp firmware.bin firmware.bin.bak
cmp -l a.bin b.bin | head            # 列出所有差异字节(偏移+八进制值)
cmp -s a b && echo SAME || echo DIFF
cmp -i 512:512 disk1.img disk2.img   # 跳过前 512 字节比较

易错点

  • cmp 默认遇到第一处差异就退出,看完整差异要 -l(但只打印差异字节,不给上下文)
  • 文本文件末尾换行差异也会被 cmp 当成不同——用 diff 确认是否只是行尾问题

数据来源与参考

  • man 1 cmp(GNU diffutils 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌