/usr/share/doc/diffutils-doc/Invoking-cmp.html is in diffutils-doc 1:3.5-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This manual is for GNU Diffutils
(version 3.5, 4 August 2016),
and documents the GNU diff, diff3,
sdiff, and cmp commands for showing the
differences between files and the GNU patch command for
using their output to update files.
Copyright (C) 1992-1994, 1998, 2001-2002, 2004, 2006, 2009-2016 Free
Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled
"GNU Free Documentation License." -->
<!-- Created by GNU Texinfo 6.3, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Comparing and Merging Files: Invoking cmp</title>
<meta name="description" content="Comparing and Merging Files: Invoking cmp">
<meta name="keywords" content="Comparing and Merging Files: Invoking cmp">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Index.html#Index" rel="index" title="Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="index.html#Top" rel="up" title="Top">
<link href="Invoking-diff.html#Invoking-diff" rel="next" title="Invoking diff">
<link href="Making-Patches.html#Generating-Smaller-Patches" rel="prev" title="Generating Smaller Patches">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en">
<a name="Invoking-cmp"></a>
<div class="header">
<p>
Next: <a href="Invoking-diff.html#Invoking-diff" accesskey="n" rel="next">Invoking diff</a>, Previous: <a href="Making-Patches.html#Making-Patches" accesskey="p" rel="prev">Making Patches</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Invoking-cmp-1"></a>
<h2 class="chapter">12 Invoking <code>cmp</code></h2>
<a name="index-invoking-cmp"></a>
<a name="index-cmp-invocation"></a>
<p>The <code>cmp</code> 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 <code>cmp</code>
are as follows:
</p>
<div class="example">
<pre class="example">cmp <var>options</var>… <var>from-file</var> <span class="roman">[</span><var>to-file</var> <span class="roman">[</span><var>from-skip</var> <span class="roman">[</span><var>to-skip</var><span class="roman">]</span><span class="roman">]</span><span class="roman">]</span>
</pre></div>
<p>The file name <samp>-</samp> is always the standard input. <code>cmp</code>
also uses the standard input if one file name is omitted. The
<var>from-skip</var> and <var>to-skip</var> operands specify how many bytes to
ignore at the start of each file; they are equivalent to the
<samp>--ignore-initial=<var>from-skip</var>:<var>to-skip</var></samp> option.
</p>
<p>By default, <code>cmp</code> outputs nothing if the two files have the
same contents. If one file is a prefix of the other, <code>cmp</code>
prints to standard error a message of the following form:
</p>
<div class="example">
<pre class="example">cmp: EOF on <var>shorter-file</var>
</pre></div>
<p>Otherwise, <code>cmp</code> prints to standard output a message of the
following form:
</p>
<div class="example">
<pre class="example"><var>from-file</var> <var>to-file</var> differ: char <var>byte-number</var>, line <var>line-number</var>
</pre></div>
<p>The message formats can differ outside the <acronym>POSIX</acronym> locale.
Also, <acronym>POSIX</acronym> allows the <acronym>EOF</acronym> message to be followed
by a blank and some additional information.
</p>
<p>An exit status of 0 means no differences were found, 1 means some
differences were found, and 2 means trouble.
</p>
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">• <a href="#cmp-Options" accesskey="1">cmp Options</a>:</td><td> </td><td align="left" valign="top">Summary of options to <code>cmp</code>.
</td></tr>
</table>
<hr>
<a name="cmp-Options"></a>
<div class="header">
<p>
Up: <a href="#Invoking-cmp" accesskey="u" rel="up">Invoking cmp</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Options-to-cmp"></a>
<h3 class="section">12.1 Options to <code>cmp</code></h3>
<a name="index-cmp-options"></a>
<a name="index-options-for-cmp"></a>
<p>Below is a summary of all of the options that <acronym>GNU</acronym>
<code>cmp</code> accepts. Most options have two equivalent names, one of
which is a single letter preceded by ‘<samp>-</samp>’, and the other of which
is a long name preceded by ‘<samp>--</samp>’. Multiple single letter options
(unless they take an argument) can be combined into a single command
line word: <samp>-bl</samp> is equivalent to <samp>-b -l</samp>.
</p>
<dl compact="compact">
<dt><samp>-b</samp></dt>
<dt><samp>--print-bytes</samp></dt>
<dd><p>Print the differing bytes. Display control bytes as a
‘<samp>^</samp>’ followed by a letter of the alphabet and precede bytes
that have the high bit set with ‘<samp>M-</samp>’ (which stands for “meta”).
</p>
</dd>
<dt><samp>--help</samp></dt>
<dd><p>Output a summary of usage and then exit.
</p>
</dd>
<dt><samp>-i <var>skip</var></samp></dt>
<dt><samp>--ignore-initial=<var>skip</var></samp></dt>
<dd><p>Ignore any differences in the first <var>skip</var> bytes of the input
files. Treat files with fewer than <var>skip</var> bytes as if they are
empty. If <var>skip</var> is of the form
<samp><var>from-skip</var>:<var>to-skip</var></samp>, skip the first <var>from-skip</var>
bytes of the first input file and the first <var>to-skip</var> bytes of the
second.
</p>
</dd>
<dt><samp>-l</samp></dt>
<dt><samp>--verbose</samp></dt>
<dd><p>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 <acronym>EOF</acronym> message if one file is shorter than the other.
</p>
</dd>
<dt><samp>-n <var>count</var></samp></dt>
<dt><samp>--bytes=<var>count</var></samp></dt>
<dd><p>Compare at most <var>count</var> input bytes.
</p>
</dd>
<dt><samp>-s</samp></dt>
<dt><samp>--quiet</samp></dt>
<dt><samp>--silent</samp></dt>
<dd><p>Do not print anything; only return an exit status indicating whether
the files differ.
</p>
</dd>
<dt><samp>-v</samp></dt>
<dt><samp>--version</samp></dt>
<dd><p>Output version information and then exit.
</p></dd>
</dl>
<p>In the above table, operands that are byte counts are normally
decimal, but may be preceded by ‘<samp>0</samp>’ for octal and ‘<samp>0x</samp>’ for
hexadecimal.
</p>
<p>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 ‘<samp>iB</samp>’, specifies a multiple using
powers of 1024. A size letter followed by ‘<samp>B</samp>’ specifies powers
of 1000 instead. For example, <samp>-n 4M</samp> and <samp>-n 4MiB</samp> are
equivalent to <samp>-n 4194304</samp>, whereas <samp>-n 4MB</samp> is
equivalent to <samp>-n 4000000</samp>. This notation is upward compatible
with the <a href="http://www.bipm.fr/enus/3_SI/si-prefixes.html">SI
prefixes</a> for decimal multiples and with the
<a href="http://physics.nist.gov/cuu/Units/binary.html">IEC 60027-2
prefixes for binary multiples</a>.
</p>
<p>The following suffixes are defined. Large sizes like <code>1Y</code> may be
rejected by your computer due to limitations of its arithmetic.
</p>
<dl compact="compact">
<dt>‘<samp>kB</samp>’</dt>
<dd><a name="index-kilobyte_002c-definition-of"></a>
<p>kilobyte: <em>10^3 = 1000</em>.
</p></dd>
<dt>‘<samp>k</samp>’</dt>
<dt>‘<samp>K</samp>’</dt>
<dt>‘<samp>KiB</samp>’</dt>
<dd><a name="index-kibibyte_002c-definition-of"></a>
<p>kibibyte: <em>2^10 = 1024</em>. ‘<samp>K</samp>’ is special: the SI prefix is
‘<samp>k</samp>’ and the IEC 60027-2 prefix is ‘<samp>Ki</samp>’, but tradition and
<acronym>POSIX</acronym> use ‘<samp>k</samp>’ to mean ‘<samp>KiB</samp>’.
</p></dd>
<dt>‘<samp>MB</samp>’</dt>
<dd><a name="index-megabyte_002c-definition-of"></a>
<p>megabyte: <em>10^6 = 1,000,000</em>.
</p></dd>
<dt>‘<samp>M</samp>’</dt>
<dt>‘<samp>MiB</samp>’</dt>
<dd><a name="index-mebibyte_002c-definition-of"></a>
<p>mebibyte: <em>2^20 = 1,048,576</em>.
</p></dd>
<dt>‘<samp>GB</samp>’</dt>
<dd><a name="index-gigabyte_002c-definition-of"></a>
<p>gigabyte: <em>10^9 = 1,000,000,000</em>.
</p></dd>
<dt>‘<samp>G</samp>’</dt>
<dt>‘<samp>GiB</samp>’</dt>
<dd><a name="index-gibibyte_002c-definition-of"></a>
<p>gibibyte: <em>2^30 = 1,073,741,824</em>.
</p></dd>
<dt>‘<samp>TB</samp>’</dt>
<dd><a name="index-terabyte_002c-definition-of"></a>
<p>terabyte: <em>10^12 = 1,000,000,000,000</em>.
</p></dd>
<dt>‘<samp>T</samp>’</dt>
<dt>‘<samp>TiB</samp>’</dt>
<dd><a name="index-tebibyte_002c-definition-of"></a>
<p>tebibyte: <em>2^40 = 1,099,511,627,776</em>.
</p></dd>
<dt>‘<samp>PB</samp>’</dt>
<dd><a name="index-petabyte_002c-definition-of"></a>
<p>petabyte: <em>10^15 = 1,000,000,000,000,000</em>.
</p></dd>
<dt>‘<samp>P</samp>’</dt>
<dt>‘<samp>PiB</samp>’</dt>
<dd><a name="index-pebibyte_002c-definition-of"></a>
<p>pebibyte: <em>2^50 = 1,125,899,906,842,624</em>.
</p></dd>
<dt>‘<samp>EB</samp>’</dt>
<dd><a name="index-exabyte_002c-definition-of"></a>
<p>exabyte: <em>10^18 = 1,000,000,000,000,000,000</em>.
</p></dd>
<dt>‘<samp>E</samp>’</dt>
<dt>‘<samp>EiB</samp>’</dt>
<dd><a name="index-exbibyte_002c-definition-of"></a>
<p>exbibyte: <em>2^60 = 1,152,921,504,606,846,976</em>.
</p></dd>
<dt>‘<samp>ZB</samp>’</dt>
<dd><a name="index-zettabyte_002c-definition-of"></a>
<p>zettabyte: <em>10^21 = 1,000,000,000,000,000,000,000</em>
</p></dd>
<dt>‘<samp>Z</samp>’</dt>
<dt>‘<samp>ZiB</samp>’</dt>
<dd><p><em>2^70 = 1,180,591,620,717,411,303,424</em>.
(‘<samp>Zi</samp>’ is a GNU extension to IEC 60027-2.)
</p></dd>
<dt>‘<samp>YB</samp>’</dt>
<dd><a name="index-yottabyte_002c-definition-of"></a>
<p>yottabyte: <em>10^24 = 1,000,000,000,000,000,000,000,000</em>.
</p></dd>
<dt>‘<samp>Y</samp>’</dt>
<dt>‘<samp>YiB</samp>’</dt>
<dd><p><em>2^80 = 1,208,925,819,614,629,174,706,176</em>.
(‘<samp>Yi</samp>’ is a GNU extension to IEC 60027-2.)
</p></dd>
</dl>
<hr>
<div class="header">
<p>
Up: <a href="#Invoking-cmp" accesskey="u" rel="up">Invoking cmp</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|