[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
cmp
The cmp
command compares two files, and if they differ,
tells the first byte and line number where they differ or reports
that one file is a prefix of the other. Bytes and
lines are numbered starting with 1. The arguments of cmp
are as follows:
cmp options… from-file [to-file [from-skip [to-skip]]] |
The file name ‘-’ is always the standard input. cmp
also uses the standard input if one file name is omitted. The
from-skip and to-skip operands specify how many bytes to
ignore at the start of each file; they are equivalent to the
‘--ignore-initial=from-skip:to-skip’ option.
By default, cmp
outputs nothing if the two files have the
same contents. If one file is a prefix of the other, cmp
prints to standard error a message of the following form:
cmp: EOF on shorter-file |
Otherwise, cmp
prints to standard output a message of the
following form:
from-file to-file differ: char byte-number, line line-number |
The message formats can differ outside the POSIX locale. Also, POSIX allows the EOF message to be followed by a blank and some additional information.
An exit status of 0 means no differences were found, 1 means some differences were found, and 2 means trouble.
12.1 Options to cmp | Summary of options to cmp .
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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’.
Print the differing bytes. Display control bytes as a ‘^’ followed by a letter of the alphabet and precede bytes that have the high bit set with ‘M-’ (which stands for “meta”).
Output a summary of usage and then exit.
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.
Output the (decimal) byte numbers and (octal) values of all differing bytes, instead of the default standard output. Also, output the EOF message if one file is shorter than the other.
Compare at most count input bytes.
Do not print anything; only return an exit status indicating whether the files differ.
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 that count; in this case an omitted integer is understood to be 1. A bare size letter, or one followed by ‘iB’, specifies a multiple using powers of 1024. A size letter followed by ‘B’ specifies powers of 1000 instead. For example, ‘-n 4M’ and ‘-n 4MiB’ are equivalent to ‘-n 4194304’, whereas ‘-n 4MB’ is equivalent to ‘-n 4000000’. This notation is upward compatible with the SI prefixes for decimal multiples and with the IEC 60027-2 prefixes for binary multiples.
The following suffixes are defined. Large sizes like 1Y
may be
rejected by your computer due to limitations of its arithmetic.
kilobyte: 10^3 = 1000.
kibibyte: 2^10 = 1024. ‘K’ is special: the SI prefix is ‘k’ and the IEC 60027-2 prefix is ‘Ki’, but tradition and POSIX use ‘k’ to mean ‘KiB’.
megabyte: 10^6 = 1,000,000.
mebibyte: 2^20 = 1,048,576.
gigabyte: 10^9 = 1,000,000,000.
gibibyte: 2^30 = 1,073,741,824.
terabyte: 10^12 = 1,000,000,000,000.
tebibyte: 2^40 = 1,099,511,627,776.
petabyte: 10^15 = 1,000,000,000,000,000.
pebibyte: 2^50 = 1,125,899,906,842,624.
exabyte: 10^18 = 1,000,000,000,000,000,000.
exbibyte: 2^60 = 1,152,921,504,606,846,976.
zettabyte: 10^21 = 1,000,000,000,000,000,000,000
2^70 = 1,180,591,620,717,411,303,424. (‘Zi’ is a GNU extension to IEC 60027-2.)
yottabyte: 10^24 = 1,000,000,000,000,000,000,000,000.
2^80 = 1,208,925,819,614,629,174,706,176. (‘Yi’ is a GNU extension to IEC 60027-2.)
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by root on April 29, 2012 using texi2html 1.82.