Linux shell cmp 命令
Linux shell cmp 命令用于比较两个文件是否有差异。
当相互比较的两个文件完全一样时,则该指令不会显示任何信息。 若发现有所差异,预设会标示出第一个不同之处的字符和列数编号。
若不指定任何文件名称或是所给予的文件名为 -
,则 cmp 命令会从标准输入设备读取数据
cmp 命令语法格式
cmp [-clsv][-i <字符数目>][--help][第一个文件][第二个文件]
参数
- -c , --print-chars
- 除了标明差异处的十进制字码之外,一并显示该字符所对应字符
- -i<字符数目> , --ignore-initial=<字符数目>
- 指定一个数目
- -l , --verbose
- 标示出所有不一样的地方
- -s , --quiet或--silent
- 不显示错误信息
- -v , --version
- 显示版本信息
- --help
- 在线帮助
范例
要确定两个文件是否相同,可以使用以下脚本:
cmp demo1.txt demo1.txt.bak
这比较 demo1.txt
和 demo1.txt.bak
。
如果文件相同,则不显示消息。如果文件不同,则显示第一个不同的位置
[root@localhost ~]# cmp demo1.txt demo1.txt.bak demo1.txt demo1.txt.bak differ: byte 88, line 2
如果显示消息 cmp: EOF on demo1.txt
,则 demo1.txt 的第一部分与 demo1.txt.bak 相同,但在 demo1.txt 中还有其他数据。