语法 cmp [-clsv][-i <字符数目>][--help] File1 File2 描述 cmp 命令比较 File1 和 File2 参数指定的文件,并将结果写到标准输出。如果为 File1 或 File2 参数指定 -(减号),则 cmp 命令读取该文件的标准输入。只可以从标准输入读取一个文件。在缺省条件下,如果文件相同,则 cmp 命令不显示任何内容。如果它们不同,则 cmp 命令显示发生不同的第一个字节数和行数。如果指定了 -l 标志,并且如果一个文件是另一文件的初始后继(即,如果在查找任何差别之前,cmp 命令读取文件中的文件结束符),则 cmp 命令记下它。通常,使用 cmp 命令比较非文本文件,使用 diff 命令比较文本文件。 标志 -l 对于每个不同,(小写字母 L)显示十进制的字节数和八进制的不同字节。 -s 只返回退出值。值 0 指示相同的文件;值 1 指示不同的文件;值 2 指示不可访问的文件或缺少选项。 退出状态 该命令返回以下出口值: 0 文件相同。 1 文件不同。即使一个文件是另一个文件的初始后继(一个文件与另一个文件的第一个部分相同),也给出该值。 >1 发生错误。 范例 1. 要确定两个文件是否相同 这比较linuxeye1.txt和linuxeye2.txt。如果文件相同,则不显示消息。 如果文件不同,则显示第一个不同的位置;例如: # echo 'www.linuxeye.com/command/cmp.html' > linuxeye1.txt # cp linuxeye1.txt linuxeye1.txt_bk # echo 'www.linuxeye.com/command/' > linuxeye2.txt # cmp linuxeye1.txt linuxeye1.txt_bk #没有输出 # cmp linuxeye1.txt linuxeye2.txt linuxeye1.txt linuxeye2.txt differ: byte 26, line 1 2. 要显示不同字节的每个对 这比较文件,然后显示字节数(使用十进制格式)和每个不同的不同字节(使用八进制格式)。例如,如果第26个字节在linuxeye1.txt中是八进制 143,在linuxeye2.txt中是12,如下: # cmp -l linuxeye1.txt linuxeye2.txt 26 143 12 cmp: EOF on linuxeye2.txt 3. 要比较两个文件,而不写任何消息 # cmp -s linuxeye1.txt linuxeye1.txt_bk 这样,如果文件相同,则给出值 0,如果不同,则给出值 1,或者如果发生错误,则给出值 2。该命令形式通常用在 shell 步骤中。例如: # if cmp -s linuxeye1.txt linuxeye1.txt_bk > then > echo No change > fi No change # if cmp -s linuxeye1.txt linuxeye2.txt > then > echo No change > fi 转载请保留固定链接: https://linuxeye.com/command/cpm.html |