- compare two files
cmp [-l] [-s] file1 file2 [skip1] [skip2]
The cmp utility compares two files. cmp will write no output if the files are the same. Under default options, if they differ, it writes to standard output the byte and line numbers at which the first difference occurred. Bytes and lines are numbered beginning with 1. If one file is an initial subsequence of the other, that fact is noted. skip1 and skip2 are initial byte offsets into file1 and file2 respectively, and may be either octal or decimal; a leading 0 denotes octal.
The following options are supported:
Write the byte number (decimal) and the differing bytes (octal) for each difference.
Write nothing for differing files; return exit statuses only.
The following operands are supported:
A path name of the first file to be compared. If file1 is -, the standard input will be used.
A path name of the second file to be compared. If file2 is -, the standard input will be used.
If both file1 and file2 refer to standard input or refer to the same FIFO special, block special or character special file, an error results.
See largefile(5) for the description of the behavior of cmp when encountering files greater than or equal to 2 Gbyte (231 bytes).
Example 1 Comparing files byte for byte
The following example:
example% cmp file1 file2 0 1024
does a byte for byte comparison of file1 and file2. It skips the first 1024 bytes in file2 before starting the comparison.
See environ(5) for descriptions of the following environment variables that affect the execution of cmp: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH.
The following error values are returned:
The files are identical.
The files are different; this includes the case where one file is identical to the first part of the other.
An error occurred.
See attributes(5) for descriptions of the following attributes: