CMP(1) | General Commands Manual | CMP(1)

# NAME

`cmp` —
compare two files

# SYNOPSIS

`cmp` | [`-c`] [`-l` | `-s`] file1 file2 [skip1 [skip2]]

# DESCRIPTION

The cmp utility compares two files of any type and writes the results to the standard output. By default, `cmp` is silent if the files are the same; if they differ, the byte and line number at which the first difference occurred is reported.

Bytes and lines are numbered beginning with one.

The following options are available:

`-c`
  Do the compare using getc(3) rather than mmap(2). Combined with the `-l` flag, this can be helpful in locating an I/O error in the underlying device.
`-l`
  Print the byte number (decimal) and the differing byte values (octal) for each difference.
`-s`
  Print nothing for differing files; return exit status only.

The optional arguments skip1 and skip2 are the byte offsets from the beginning of file1 and file2, respectively, where the comparison will begin. The offset is decimal by default, but may be expressed as an hexadecimal or octal value by preceding it with a leading ``0x'' or ``0''.

# EXIT STATUS

The `cmp` utility exits with one of the following values:

0
  The files are identical.
1
  The files are different; this includes the case where one file is identical to the first part of the other. In the latter case, if the `-s` option has not been specified, `cmp` writes to standard output that EOF was reached in the shorter file (before any differences were found).
>1
  An error occurred.

# SEE ALSO

comm(1), diff(1), diff3(1), sdiff(1)

# STANDARDS

The `cmp` utility is expected to be IEEE Std 1003.2 (“POSIX.2”) compatible.

# HISTORY

The `cmp` utility first appeared in Version 1 AT&T UNIX.

December 13, 2016 | NetBSD 9.0