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... FromFile [ToFile]
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 linux 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.
Equivalent Windows commands: COMP / FC - Compare and display Characters/Lines
which do not match.
(also the WINDIFF GUI)