Home
        <a name=

cmp

Compare two files, and if they differ, tells the first byte and line number where they differ.

You can use the `cmp' command to show the offsets and line numbers where two files differ. `cmp' can also show all the characters that differ between the two files, side by side.

SYNTAX
      cmp OPTIONS... FROM-FILE [TO-FILE]

OPTIONS     
      Multiple single letter options (unless they take an argument)
      can be combined into a single command line word: 
      so `-cl' is equivalent to `-c -l'.

`-c'
     Print the differing characters.  Display control characters as a
     `^' followed by a letter of the alphabet and precede characters
     that have the high bit set with `M-' (which stands for "meta").

`--ignore-initial=BYTES'
     Ignore any differences in the the first BYTES bytes of the input
     files.  Treat files with fewer than BYTES bytes as if they are
     empty.

`-l'
     Print the (decimal) offsets and (octal) values of all differing
     bytes.

`--print-chars'
     Print the differing characters.  Display control characters as a
     `^' followed by a letter of the alphabet and precede characters
     that have the high bit set with `M-' (which stands for "meta").

`--quiet'
`-s'
`--silent'
     Do not print anything; only return an exit status indicating
     whether the files differ.

`--verbose'
     Print the (decimal) offsets and (octal) values of all differing
     bytes.

`-v'
`--version'
     Output the version number of `cmp'.

      The file name `-' is always the standard input.  `cmp' also uses the
      standard input if one file name is omitted.

      An exit status of 0 means no differences were found, 1 means some
      differences were found, and 2 means trouble.


Example

$ cmp tnsnames.ora tnsnames.old

Notes
`cmp' reports the differences between two files character by character, instead of line by line. As a result, it is more useful than `diff' for comparing binary files. For text files, `cmp' is useful mainly when you want to know only whether two files are identical.

For files that are identical, `cmp' produces no output. When the files differ, by default, `cmp' outputs the byte offset and line number where the first difference occurs. You can use the `-s' option to suppress that information, so that `cmp' produces no output and reports whether the files differ using only its exit status.
Unlike `diff', `cmp' cannot compare directories; it can only compare two files.

"First rate people hire other first rate people. Second rate people hire third rate people. Third rate people hire fifth rate people" - André Weil

Related commands:

comm
- Compare two sorted files line by line
diff - Display the differences between two files
diff3 - Show differences among three files
dircmp - Compare 2 directories
sdiff - merge two files interactively