AIX命令参考大全,卷 1,a - c - cmp 命令

[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]

AIX命令参考大全,卷 1,a - c

cmp 命令

用途

比较两个文件。

语法

cmp-l -s File1 File2

描述

cmp 命令比较 File1File2 参数指定的文件,并将结果写到标准输出。如果为 File1File2 参数指定 -(减号),则 cmp 命令读取该文件的标准输入。只可以从标准输入读取一个文件。在缺省条件下,如果文件相同,则 cmp 命令不显示任何内容。如果它们不同,则 cmp 命令显示发生不同的第一个字节数和行数。如果指定了 -l 标志,并且如果一个文件是另一文件的初始后继(即,如果在查找任何差别之前,cmp 命令读取文件中的文件结束符),则 cmp 命令记下它。通常,使用 cmp 命令比较非文本文件,使用 diff 命令比较文本文件。

标志

-l 对于每个不同,(小写字母 L)显示十进制的字节数和八进制的不同字节。
-s 只返回退出值。值 0 指示相同的文件;值 1 指示不同的文件;值 2 指示不可访问的文件或缺少选项。

退出状态

该命令返回以下出口值:

0 文件相同。
1 文件不同。即使一个文件是另一个文件的初始后继(一个文件与另一个文件的第一个部分相同),也给出该值。
>1 发生错误。

示例

  1. 要确定两个文件是否相同,请输入:

    cmp prog.o.bak prog.o

    这比较 prog.o.bakprog.o如果文件相同,则不显示消息。 如果文件不同,则显示第一个不同的位置;例如:

    prog.o.bak prog.o differ: char 4, line 1

    如果显示消息 cmp: EOF on prog.o.bak,则 prog.o 的第一部分与 prog.o.bak 相同,但在 prog.o 中还有其它数据。

  2. 要显示不同字节的每个对,请输入:
    cmp  -l prog.o.bak prog.o
    这比较文件,然后显示字节数(使用十进制格式)和每个不同的不同字节(使用八进制格式)。例如,如果第五个字节在 prog.o.bak 中是八进制 101,在 prog.o 中是141,则 cmp 命令显示:

    5 101 141
  3. 要比较两个文件,而不写任何消息,请输入:
    cmp  -s prog.c.bak prog.c
    这样,如果文件相同,则给出值 0,如果不同,则给出值 1,或者如果发生错误,则给出值 2。该命令形式通常用在 shell 步骤中。例如:
    if cmp  -s prog.c.bak prog.c
    then
    echo No change
    fi

    如果两个文件相同,则该部分的 shell 步骤显示 No change

文件

/usr/bin/cmp 包含 cmp 命令。

相关信息

comm 命令、diff 命令和 ksh 命令。

《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『文件概述』

《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『输入输出重定向概述』

[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]