12.1 Options to cmp

Below is a summary of all of the options that GNU cmp accepts. Most options have two equivalent names, one of which is a single letter preceded by ‘-’, and the other of which is a long name preceded by ‘--’. Multiple single letter options (unless they take an argument) can be combined into a single command line word: -bl is equivalent to -b -l.

-b
--print-bytes

Print the differing bytes. Display each control byte as a ‘^’ followed by an ASCII letter, ‘@’, ‘[’, ‘\’, ‘]’, ‘^’ or ‘_’. Precede each byte with the high bit set with ‘M-’, which stands for “meta”. A control byte is any byte with the high bit clear that does not represent a printable ASCII character including space.

--help

Output a summary of usage and then exit.

-i skip
--ignore-initial=skip

Ignore any differences in the first skip bytes of the input files. Treat files with fewer than skip bytes as if they are empty. If skip is of the form from-skip:to-skip, skip the first from-skip bytes of the first input file and the first to-skip bytes of the second.

-l
--verbose

Output the (decimal) byte numbers and (octal) values of all differing bytes, instead of the default standard output. Each output line contains a differing byte’s number relative to the start of the input, followed by the differing byte values. Byte numbers start at 1. Also, output the EOF message if one file is shorter than the other.

-n count
--bytes=count

Compare at most count input bytes.

-s
--quiet
--silent

Do not print anything; only return an exit status indicating whether the files differ.

-v
--version

Output version information and then exit.

In the above table, operands that are byte counts are normally decimal, but may be preceded by ‘0’ for octal and ‘0x’ for hexadecimal.

A byte count can be followed by a suffix to specify a multiple of the count. A bare letter, or one followed by ‘iB’, specifies a multiple using powers of 1024. A letter followed by ‘B’ specifies powers of 1000 instead. For example, ‘-n 1M’ and ‘-n 1MiB’ are equivalent to ‘-n 1048576’, whereas ‘-n 1MB’ is equivalent to ‘-n 1000000’.

The following suffixes are defined. Large sizes like 1Q may be rejected by your computer due to limitations of its arithmetic.

kB

kilobyte: 10^3 = 1000.

k
K
KiB

kibibyte: 2^{10} = 1024. ‘K’ is special: the SI prefix is ‘k’ and the ISO/IEC 80000-13 prefix is ‘Ki’, but tradition and POSIX use ‘k’ to mean ‘KiB’.

MB

megabyte: 10^6 = 1,000,000.

M
MiB

mebibyte: 2^{20} = 1,048,576.

GB

gigabyte: 10^9 = 1,000,000,000.

G
GiB

gibibyte: 2^{30} = 1,073,741,824.

TB

terabyte: 10^{12} = 1,000,000,000,000.

T
TiB

tebibyte: 2^{40} = 1,099,511,627,776.

PB

petabyte: 10^{15} = 1,000,000,000,000,000.

P
PiB

pebibyte: 2^{50} = 1,125,899,906,842,624.

EB

exabyte: 10^{18} = 1,000,000,000,000,000,000.

E
EiB

exbibyte: 2^{60} = 1,152,921,504,606,846,976.

ZB

zettabyte: 10^{21} = 1,000,000,000,000,000,000,000

Z
ZiB

zebibyte: 2^{70} = 1,180,591,620,717,411,303,424.

YB

yottabyte: 10^{24} = 1,000,000,000,000,000,000,000,000.

Y
YiB

yobibyte: 2^{80} = 1,208,925,819,614,629,174,706,176.

RB

ronnabyte: 10^{27} = 1,000,000,000,000,000,000,000,000,000.

R
RiB

robibyte: 2^{90} = 1,237,940,039,285,380,274,899,124,224.

QB

quettabyte: 10^{30} = 1,000,000,000,000,000,000,000,000,000,000.

Q
QiB

quebibyte: 2^{100} = 1,267,650,600,228,229,401,496,703,205,376.