Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CMP(1)			FreeBSD	General	Commands Manual			CMP(1)

NAME
     cmp -- compare two	files

SYNOPSIS
     cmp [-l | -s | -x]	[-hz] 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:

     -h	     Do	not follow symbolic links.

     -l, --verbose
	     Print the byte number (decimal) and the differing byte values
	     (octal) for each difference.

     -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''.

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 -h, -x, and -z	options	are extensions to the standard.

HISTORY
     A cmp command appeared in Version 1 AT&T UNIX.

FreeBSD	13.0			 June 20, 2020			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | EXIT STATUS | EXAMPLES | SEE ALSO | STANDARDS | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=cmp&sektion=1&manpath=FreeBSD+13.0-RELEASE>

home | help