Open System Services Shell and Utilities Reference Manual (G06.28+, H06.05+)

User Commands (c) cmp(1)
NAME
cmp - Compares two les
SYNOPSIS
cmp [-l | -s] le1 le2
The cmp command compares two les.
FLAGS
-l Prints the byte number (in decimal) and the differing bytes (in octal) for each
difference.
-s Does not print data for differing les; returns only an exit value.
DESCRIPTION
If the le1 or le2 argument is specied as a - (dash), the standard input le is used. By default,
the cmp command prints no information if the les are the same. If the les differ, cmp prints
the byte and line number where the difference occurred. The cmp command also species
whether one le is an initial subsequence of the other (that is, if the cmp command reads an
End-of-File character in one le before nding any differences). Normally, you use the cmp
command to compare nontext les and the diff command to compare text les.
Note that bytes and lines reported by cmp are numbered from 1. The rst differing byte number
is from le1, and the second is from le2.
EXAMPLES
1. To determine whether two les are identical, enter:
cmp prog.o.bak prog.o
The preceding command compares the les prog.o.bak and prog.o. If the les are ident-
ical, a message is not displayed. If the les differ, the location of the rst difference is
displayed as follows:
prog.o.bak prog.o differ: char 5, line 1
If the message cmp: EOF on prog.o.bak is displayed, the rst part of prog.o is ident-
ical to prog.o.bak, but there is additional data in prog.o. If the message cmp: EOF on
prog.o is displayed, prog.o.bak that is identical to prog.o but that also contains addi-
tional data.
2. To display each pair of bytes that differ, enter:
cmp -l prog.o.bak prog.o
This command compares the les and then displays the byte number (in decimal) and the
differing bytes (in octal) for each difference. For example, if the fth byte is octal 101 in
le prog.o.bak and 141 in le prog.o, then the cmp command displays:
5 101 141
.
.
EXIT VALUES
Exit value 0 (zero) is returned for identical les, 1 for differing les, and 2 for an inaccessible
le, a missing argument, or some other error.
RELATED INFORMATION
Commands: comm(1), diff(1).
527188-007 Hewlett-Packard Company 253