GNU cmp — compare two files byte by byte

Examples (TL;DR)


cmp [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]]


Compare two files byte by byte.

The optional SKIP1 and SKIP2 specify the number of bytes to skip at the beginning of each file (zero by default).

Mandatory arguments to long options are mandatory for short options too.

-b, --print-bytes

print differing bytes

-i, --ignore-initial=SKIP

skip first SKIP bytes of both inputs

-i, --ignore-initial=SKIP1:SKIP2

skip first SKIP1 bytes of FILE1 and first SKIP2 bytes of FILE2

-l, --verbose

output byte numbers and differing byte values

-n, --bytes=LIMIT

compare at most LIMIT bytes

-s, --quiet, --silent

suppress all normal output


display this help and exit

-v, --version

output version information and exit

SKIP values may be followed by the following multiplicative suffixes: kB 1000, K 1024, MB 1,000,000, M 1,048,576, GB 1,000,000,000, G 1,073,741,824, and so on for T, P, E, Z, Y.

If a FILE is '-' or missing, read standard input. Exit status is 0 if inputs are the same, 1 if different, 2 if trouble.


Written by Torbjorn Granlund and David MacKenzie.

Reporting Bugs

Report bugs to:
GNU diffutils home page: <>
General help using GNU software: <>

See Also

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

The full documentation for GNU is maintained as a Texinfo manual.  If the info and GNU programs are properly installed at your site, the command

info GNU

should give you access to the complete manual.

Referenced By

bzdiff(1), diff(1), diff3(1), grep(1), guestfish(1), guestfs(3), lbzdiff(1), rc(1), sdiff(1), xs(1), xzdiff(1), zdiff(1).

July 2019 diffutils 3.7