etc/protocols - sync with NetBSD-8
[minix.git] / usr.bin / hexdump / od.1
blobffed1462e11988e9d4fb45fad5724773255599e1
1 .\"  $NetBSD: od.1,v 1.27 2012/07/06 09:05:26 wiz Exp $
2 .\"
3 .\" Copyright (c) 2001 The NetBSD Foundation, Inc.
4 .\" All rights reserved.
5 .\"
6 .\" This code is derived from software contributed to The NetBSD Foundation
7 .\" by Andrew Brown.
8 .\"
9 .\" Redistribution and use in source and binary forms, with or without
10 .\" modification, are permitted provided that the following conditions
11 .\" are met:
12 .\" 1. Redistributions of source code must retain the above copyright
13 .\"    notice, this list of conditions and the following disclaimer.
14 .\" 2. Redistributions in binary form must reproduce the above copyright
15 .\"    notice, this list of conditions and the following disclaimer in the
16 .\"    documentation and/or other materials provided with the distribution.
17 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20 .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21 .\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 .\" POSSIBILITY OF SUCH DAMAGE.
29 .\"/
30 .Dd June 24, 2012
31 .Dt OD 1
32 .Os
33 .Sh NAME
34 .Nm od
35 .Nd octal, decimal, hex, ascii dump
36 .Sh SYNOPSIS
37 .Nm
38 .Op Fl aBbcDdeFfHhIiLlOovXx
39 .Op Fl A Ar base
40 .Op Fl j Ar skip
41 .Op Fl N Ar length
42 .Op Fl t Ar type_string
43 .Sm off
44 .Oo
45 .Op Cm \&+
46 .Li offset
47 .Op Cm \&.
48 .Op Cm Bb
49 .Sm on
50 .Oc
51 .Op Ar
52 .Sh DESCRIPTION
53 The
54 .Nm
55 utility is a filter which displays each specified
56 .Ar file ,
57 or the standard input if no
58 .Ar file
59 arguments are specified, in a user specified
60 format.
61 .Pp
62 The options are as follows:
63 .Bl -tag -width Fl
64 .It Fl A Ar base
65 Specify the input address base.
66 .Ar base
67 may be one of
68 .Ql d ,
69 .Ql o ,
70 .Ql x
72 .Ql n ,
73 which specify decimal, octal, hexadecimal
74 addresses or no address, respectively.
75 .It Fl a
76 .Em One-byte character display .
77 Display the input offset in octal, followed by sixteen
78 space-separated, three column, space-filled, characters of input data
79 per line.
80 Control characters are printed as their names instead of as
81 C-style escapes.
82 .It Fl B
83 Same as
84 .Fl o .
85 .It Fl b
86 .Em One-byte octal display .
87 Display the input offset in octal, followed by sixteen
88 space-separated, three column, zero-filled, bytes of input data, in
89 octal, per line.
90 This is the default output style if no other is
91 selected.
92 .It Fl c
93 .Em One-byte character display .
94 Display the input offset in octal, followed by sixteen
95 space-separated, three column, space-filled, characters of input data
96 per line.
97 Control characters are printed at C-style escapes, or as
98 three octal digits, if no C escape exists for the character.
99 .It Fl d
100 .Em Two-byte decimal display .
101 Display the input offset in octal, followed by eight
102 space-separated, five column, zero-filled, two-byte units
103 of input data, in unsigned decimal, per line.
104 .It Fl e
105 .Em Eight-byte floating point display .
106 Display the input offset in octal, followed by two space-separated,
107 twenty-one column, space filled, eight byte units of input data, in
108 floating point, per line.
109 .It Fl F
110 Same as
111 .Fl e .
112 .It Fl f
113 .Em Four-byte floating point display .
114 Display the input offset in octal, followed by four space-separated,
115 14 column, space filled, four byte units of input data, in floating
116 point, per line.
117 .It Fl H
118 .Em Four-byte hex display .
119 Display the input offset in octal, followed by four space-separated,
120 eight column, zero filled, four byte units of input data, in hex,
121 per line.
122 .It Fl h
123 .Em Two-byte hex display .
124 Display the input offset in octal, followed by eight space-separated,
125 four column, zero filled, two byte units of input data, in hex,
126 per line.
127 .It Fl I
128 .Em Four-byte decimal display .
129 Display the input offset in octal, followed by four space-separated,
130 eleven column, space filled, four byte units of input data, in
131 decimal, per line.
132 .It Fl i
133 .Em Two-byte decimal display .
134 Display the input offset in octal, followed by eight space-separated,
135 six column, space filled, two-byte units of input data, in decimal,
136 per line.
137 .It Fl j Ar skip
138 Skip
139 .Ar skip
140 bytes from the beginning of the input.
141 By default,
142 .Ar skip
143 is interpreted as a decimal number.
144 With a leading
145 .Cm 0x
147 .Cm 0X ,
148 .Ar skip
149 is interpreted as a hexadecimal number;
150 otherwise, with a leading
151 .Cm 0 ,
152 .Ar skip
153 is interpreted as an octal number.
154 Appending the character
155 .Cm b ,
156 .Cm k ,
158 .Cm m
160 .Ar skip
161 causes it to be interpreted as a multiple of
162 .Li 512 ,
163 .Li 1024 ,
165 .Li 1048576 ,
166 respectively.
167 .It Fl L
168 Same as
169 .Fl I .
170 .It Fl l
171 Same as
172 .Fl I .
173 .It Fl N Ar length
174 Interpret only
175 .Ar length
176 bytes of input.
177 .It Fl O
178 .Em Four-byte octal display .
179 Display the input offset in octal, followed by four
180 space-separated, eleven column, zero-filled, four-byte units
181 of input data, in octal, per line.
182 .It Fl o
183 .Em Two-byte octal display .
184 Display the input offset in octal, followed by eight
185 space-separated, six column, zero-filled, two-byte units
186 of input data, in octal, per line.
187 .It Fl t Ar type_string
188 Specify one or more output types.
190 .Em type_string
191 option-argument must be a string specifying the types to be used when
192 writing the input data.
193 The string must consist of the type specification characters:
195 .Cm a
196 selects US-ASCII output, with control characters replaced with their
197 names instead of as C escape sequences.
198 See also the
199 .Cm _u
200 conversion provided by
201 .Xr hexdump 1 .
203 .Cm c
204 selects a standard character based conversion.
205 See also the
206 .Cm _c
207 conversion provided by
208 .Xr hexdump 1 .
210 .Cm f
211 selects the floating point output format.
212 This type character can be optionally followed by the characters
213 .Cm 4
215 .Cm F
216 to specify four byte floating point output, or
217 .Cm 8
219 .Cm L
220 to specify eight byte floating point output.
221 The default output format is eight byte floats.
222 See also the
223 .Cm e
224 conversion provided by
225 .Xr hexdump 1 .
227 .Cm d ,
228 .Cm o ,
229 .Cm u ,
231 .Cm x
232 select decimal, octal, unsigned decimal, or hex output respectively.
233 These types can optionally be followed by
234 .Cm C
235 to specify
236 .Em char Ns -sized
237 output,
238 .Cm S
239 to specify
240 .Em short Ns -sized
241 output,
242 .Cm I
243 to specify
244 .Em int Ns -sized
245 output,
246 .Cm L
247 to specify
248 .Em long Ns -sized
249 output,
250 .Cm 1
251 to specify one-byte output,
252 .Cm 2
253 to specify two-byte output,
254 .Cm 4
255 to specify four-byte output, or
256 .Cm 8
257 to specify eight-byte output.
258 The default output format is in four-byte quantities.
259 See also the
260 .Cm d ,
261 .Cm o ,
262 .Cm u ,
264 .Cm x
265 conversions provided by
266 .Xr hexdump 1 .
267 .\"(a|c|f[FLD]?|[doux][C1S2I4L8]?)*
268 .It Fl v
270 .Fl v
271 option causes
273 to display all input data.
274 Without the
275 .Fl v
276 option, any number of groups of output lines, which would be
277 identical to the immediately preceding group of output lines (except
278 for the input offsets), are replaced with a line comprised of a
279 single asterisk
280 .Pq Sq \&* .
281 .It Fl X
282 Same as
283 .Fl H .
284 .It Fl x
285 Same as
286 .Fl h .
289 For each input file,
291 sequentially copies the input to standard output, transforming the
292 data according to the options given.
293 If no options are specified, the
294 default display is equivalent to specifying the
295 .Fl o
296 option.
297 .Sh EXIT STATUS
298 .Ex -std
299 .Sh SEE ALSO
300 .Xr hexdump 1 ,
301 .Xr strings 1
302 .Sh HISTORY
305 command appeared in
306 .At v1 .
308 This man page was initially written in February 2001 by Andrew Brown, shortly
309 after he augmented the deprecated
311 syntax to include things he felt
312 had been missing for a long time.