FreeBSD Manual Pages
CMP(1) FreeBSD General Commands Manual CMP(1) NAME cmp -- compare two files SYNOPSIS cmp [-l | -s | -x] [-bhz] [--ignore-initial=num1[:num2]] [--bytes=num] 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 differ- ence occurred is reported. Bytes and lines are numbered beginning with one. The following options are available: -b, --print-bytes Print each byte when a difference is found. -h Do not follow symbolic links. -i num1[:num2], --ignore-initial=num1[:num2] Skip num1 bytes from file1, and optionally skip num2 bytes from file2. If num2 is not specified, then num1 is applied for both file1 and file2. -l, --verbose Print the byte number (decimal) and the differing byte values (octal) for each difference. -n num, --bytes=num Only compare up to num bytes. -s, --silent, --quiet Print nothing for differing files; return exit status only. -x Like -l but prints in hexadecimal and using zero as index for the first byte in the files. -z For regular files compare file sizes first, and fail the compari- son if they are not equal. The optional arguments skip1 and skip2 are the byte offsets from the be- ginning of file1 and file2, respectively, where the comparison will be- gin. The offset is decimal by default, but may be expressed as a hexa- decimal or octal value by preceding it with a leading ``0x'' or ``0''. skip1 and skip2 may also be specified with SI size suffixes. 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 error that EOF was reached in the shorter file (before any differences were found). >1 An error occurred. EXAMPLES Assuming a file named example.txt with the following contents: a b c Compare stdin with example.txt: $ echo -e "a\nb\nc" | cmp - example.txt Same as above but introducing a change in the third byte of stdin. Show the byte number (decimal) and differing byte (octal): $ echo -e "a\nR\nc" | cmp -l - example.txt 3 122 142 Compare file sizes of example.txt and /boot/loader.conf and return 1 if they are not equal. Note that -z can only be used with regular files: $ cmp -z example.txt /boot/loader.conf example.txt /boot/loader.conf differ: size Compare stdin with example.txt omitting the first 4 bytes from stdin and the first 2 bytes from example.txt: $ echo -e "a\nR\nb\nc" | cmp - example.txt 4 2 SEE ALSO diff(1), diff3(1) STANDARDS The cmp utility is expected to be IEEE Std 1003.2 ("POSIX.2") compatible. The -b, -h, -i, -n, -x, and -z options are extensions to the standard. skip1 and skip2 arguments are extensions to the standard. HISTORY A cmp command appeared in Version 1 AT&T UNIX. BUGS The phrase "SI size suffixes" above refers to the traditional power of two convention, as described in expand_number(3). FreeBSD 13.0 September 23, 2021 FreeBSD 13.0
NAME | SYNOPSIS | DESCRIPTION | EXIT STATUS | EXAMPLES | SEE ALSO | STANDARDS | HISTORY | BUGS
Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=cmp&sektion=1&manpath=FreeBSD+13.1-RELEASE+and+Ports>