Next: , Previous: Making Patches, Up: Top


12 Invoking cmp

The cmp command compares two files, and if they differ, tells the first byte and line number where they differ or reports that one file is a prefix of the other. Bytes and lines are numbered starting with 1. The arguments of cmp are as follows:

     cmp options... from-file [to-file [from-skip [to-skip]]]

The file name - is always the standard input. cmp also uses the standard input if one file name is omitted. The from-skip and to-skip operands specify how many bytes to ignore at the start of each file; they are equivalent to the --ignore-initial=from-skip:to-skip option.

By default, cmp outputs nothing if the two files have the same contents. If one file is a prefix of the other, cmp prints to standard error a message of the following form:

     cmp: EOF on shorter-file

Otherwise, cmp prints to standard output a message of the following form:

     from-file to-file differ: char byte-number, line line-number

The message formats can differ outside the POSIX locale. Also, POSIX allows the EOF message to be followed by a blank and some additional information.

An exit status of 0 means no differences were found, 1 means some differences were found, and 2 means trouble.