2013-10-29 19:48:38 +01:00
|
|
|
.\" $NetBSD: od.1,v 1.27 2012/07/06 09:05:26 wiz Exp $
|
2010-08-21 15:24:09 +02:00
|
|
|
.\"
|
|
|
|
.\" Copyright (c) 2001 The NetBSD Foundation, Inc.
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" This code is derived from software contributed to The NetBSD Foundation
|
|
|
|
.\" by Andrew Brown.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
|
|
|
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
|
|
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
|
|
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
|
|
|
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
|
|
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
|
|
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
|
|
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
|
|
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
|
|
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
|
|
.\" POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
.\"/
|
2013-10-29 19:48:38 +01:00
|
|
|
.Dd June 24, 2012
|
2010-08-21 15:24:09 +02:00
|
|
|
.Dt OD 1
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm od
|
|
|
|
.Nd octal, decimal, hex, ascii dump
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Nm
|
|
|
|
.Op Fl aBbcDdeFfHhIiLlOovXx
|
|
|
|
.Op Fl A Ar base
|
|
|
|
.Op Fl j Ar skip
|
|
|
|
.Op Fl N Ar length
|
|
|
|
.Op Fl t Ar type_string
|
|
|
|
.Sm off
|
|
|
|
.Oo
|
|
|
|
.Op Cm \&+
|
|
|
|
.Li offset
|
|
|
|
.Op Cm \&.
|
|
|
|
.Op Cm Bb
|
|
|
|
.Sm on
|
|
|
|
.Oc
|
2013-10-29 19:48:38 +01:00
|
|
|
.Op Ar
|
2010-08-21 15:24:09 +02:00
|
|
|
.Sh DESCRIPTION
|
2013-10-29 19:48:38 +01:00
|
|
|
The
|
|
|
|
.Nm
|
|
|
|
utility is a filter which displays each specified
|
|
|
|
.Ar file ,
|
|
|
|
or the standard input if no
|
|
|
|
.Ar file
|
|
|
|
arguments are specified, in a user specified
|
|
|
|
format.
|
|
|
|
.Pp
|
2010-08-21 15:24:09 +02:00
|
|
|
The options are as follows:
|
|
|
|
.Bl -tag -width Fl
|
|
|
|
.It Fl A Ar base
|
|
|
|
Specify the input address base.
|
|
|
|
.Ar base
|
|
|
|
may be one of
|
|
|
|
.Ql d ,
|
|
|
|
.Ql o ,
|
|
|
|
.Ql x
|
|
|
|
or
|
|
|
|
.Ql n ,
|
|
|
|
which specify decimal, octal, hexadecimal
|
|
|
|
addresses or no address, respectively.
|
|
|
|
.It Fl a
|
|
|
|
.Em One-byte character display .
|
|
|
|
Display the input offset in octal, followed by sixteen
|
|
|
|
space-separated, three column, space-filled, characters of input data
|
|
|
|
per line.
|
|
|
|
Control characters are printed as their names instead of as
|
|
|
|
C-style escapes.
|
|
|
|
.It Fl B
|
|
|
|
Same as
|
|
|
|
.Fl o .
|
|
|
|
.It Fl b
|
|
|
|
.Em One-byte octal display .
|
|
|
|
Display the input offset in octal, followed by sixteen
|
|
|
|
space-separated, three column, zero-filled, bytes of input data, in
|
|
|
|
octal, per line.
|
|
|
|
This is the default output style if no other is
|
|
|
|
selected.
|
|
|
|
.It Fl c
|
|
|
|
.Em One-byte character display .
|
|
|
|
Display the input offset in octal, followed by sixteen
|
|
|
|
space-separated, three column, space-filled, characters of input data
|
|
|
|
per line.
|
|
|
|
Control characters are printed at C-style escapes, or as
|
|
|
|
three octal digits, if no C escape exists for the character.
|
|
|
|
.It Fl d
|
|
|
|
.Em Two-byte decimal display .
|
|
|
|
Display the input offset in octal, followed by eight
|
|
|
|
space-separated, five column, zero-filled, two-byte units
|
|
|
|
of input data, in unsigned decimal, per line.
|
|
|
|
.It Fl e
|
|
|
|
.Em Eight-byte floating point display .
|
|
|
|
Display the input offset in octal, followed by two space-separated,
|
|
|
|
twenty-one column, space filled, eight byte units of input data, in
|
|
|
|
floating point, per line.
|
|
|
|
.It Fl F
|
|
|
|
Same as
|
|
|
|
.Fl e .
|
|
|
|
.It Fl f
|
|
|
|
.Em Four-byte floating point display .
|
|
|
|
Display the input offset in octal, followed by four space-separated,
|
|
|
|
14 column, space filled, four byte units of input data, in floating
|
|
|
|
point, per line.
|
|
|
|
.It Fl H
|
|
|
|
.Em Four-byte hex display .
|
|
|
|
Display the input offset in octal, followed by four space-separated,
|
|
|
|
eight column, zero filled, four byte units of input data, in hex,
|
|
|
|
per line.
|
|
|
|
.It Fl h
|
|
|
|
.Em Two-byte hex display .
|
|
|
|
Display the input offset in octal, followed by eight space-separated,
|
|
|
|
four column, zero filled, two byte units of input data, in hex,
|
|
|
|
per line.
|
|
|
|
.It Fl I
|
|
|
|
.Em Four-byte decimal display .
|
|
|
|
Display the input offset in octal, followed by four space-separated,
|
|
|
|
eleven column, space filled, four byte units of input data, in
|
|
|
|
decimal, per line.
|
|
|
|
.It Fl i
|
|
|
|
.Em Two-byte decimal display .
|
|
|
|
Display the input offset in octal, followed by eight space-separated,
|
|
|
|
six column, space filled, two-byte units of input data, in decimal,
|
|
|
|
per line.
|
2013-10-29 19:48:38 +01:00
|
|
|
.It Fl j Ar skip
|
2010-08-21 15:24:09 +02:00
|
|
|
Skip
|
2013-10-29 19:48:38 +01:00
|
|
|
.Ar skip
|
2010-08-21 15:24:09 +02:00
|
|
|
bytes from the beginning of the input.
|
|
|
|
By default,
|
2013-10-29 19:48:38 +01:00
|
|
|
.Ar skip
|
2010-08-21 15:24:09 +02:00
|
|
|
is interpreted as a decimal number.
|
|
|
|
With a leading
|
|
|
|
.Cm 0x
|
|
|
|
or
|
|
|
|
.Cm 0X ,
|
2013-10-29 19:48:38 +01:00
|
|
|
.Ar skip
|
|
|
|
is interpreted as a hexadecimal number;
|
2010-08-21 15:24:09 +02:00
|
|
|
otherwise, with a leading
|
|
|
|
.Cm 0 ,
|
2013-10-29 19:48:38 +01:00
|
|
|
.Ar skip
|
2010-08-21 15:24:09 +02:00
|
|
|
is interpreted as an octal number.
|
|
|
|
Appending the character
|
|
|
|
.Cm b ,
|
|
|
|
.Cm k ,
|
|
|
|
or
|
|
|
|
.Cm m
|
|
|
|
to
|
2013-10-29 19:48:38 +01:00
|
|
|
.Ar skip
|
2010-08-21 15:24:09 +02:00
|
|
|
causes it to be interpreted as a multiple of
|
|
|
|
.Li 512 ,
|
|
|
|
.Li 1024 ,
|
|
|
|
or
|
|
|
|
.Li 1048576 ,
|
|
|
|
respectively.
|
|
|
|
.It Fl L
|
|
|
|
Same as
|
|
|
|
.Fl I .
|
|
|
|
.It Fl l
|
|
|
|
Same as
|
|
|
|
.Fl I .
|
|
|
|
.It Fl N Ar length
|
|
|
|
Interpret only
|
|
|
|
.Ar length
|
|
|
|
bytes of input.
|
|
|
|
.It Fl O
|
|
|
|
.Em Four-byte octal display .
|
|
|
|
Display the input offset in octal, followed by four
|
|
|
|
space-separated, eleven column, zero-filled, four-byte units
|
|
|
|
of input data, in octal, per line.
|
|
|
|
.It Fl o
|
|
|
|
.Em Two-byte octal display .
|
|
|
|
Display the input offset in octal, followed by eight
|
|
|
|
space-separated, six column, zero-filled, two-byte units
|
|
|
|
of input data, in octal, per line.
|
|
|
|
.It Fl t Ar type_string
|
|
|
|
Specify one or more output types.
|
|
|
|
The
|
|
|
|
.Em type_string
|
|
|
|
option-argument must be a string specifying the types to be used when
|
|
|
|
writing the input data.
|
|
|
|
The string must consist of the type specification characters:
|
|
|
|
.Pp
|
|
|
|
.Cm a
|
|
|
|
selects US-ASCII output, with control characters replaced with their
|
|
|
|
names instead of as C escape sequences.
|
|
|
|
See also the
|
|
|
|
.Cm _u
|
2013-10-29 19:48:38 +01:00
|
|
|
conversion provided by
|
|
|
|
.Xr hexdump 1 .
|
2010-08-21 15:24:09 +02:00
|
|
|
.Pp
|
|
|
|
.Cm c
|
|
|
|
selects a standard character based conversion.
|
|
|
|
See also the
|
|
|
|
.Cm _c
|
2013-10-29 19:48:38 +01:00
|
|
|
conversion provided by
|
|
|
|
.Xr hexdump 1 .
|
2010-08-21 15:24:09 +02:00
|
|
|
.Pp
|
|
|
|
.Cm f
|
|
|
|
selects the floating point output format.
|
|
|
|
This type character can be optionally followed by the characters
|
|
|
|
.Cm 4
|
|
|
|
or
|
|
|
|
.Cm F
|
|
|
|
to specify four byte floating point output, or
|
|
|
|
.Cm 8
|
|
|
|
or
|
|
|
|
.Cm L
|
|
|
|
to specify eight byte floating point output.
|
|
|
|
The default output format is eight byte floats.
|
|
|
|
See also the
|
|
|
|
.Cm e
|
2013-10-29 19:48:38 +01:00
|
|
|
conversion provided by
|
|
|
|
.Xr hexdump 1 .
|
2010-08-21 15:24:09 +02:00
|
|
|
.Pp
|
|
|
|
.Cm d ,
|
|
|
|
.Cm o ,
|
|
|
|
.Cm u ,
|
|
|
|
or
|
|
|
|
.Cm x
|
|
|
|
select decimal, octal, unsigned decimal, or hex output respectively.
|
|
|
|
These types can optionally be followed by
|
|
|
|
.Cm C
|
|
|
|
to specify
|
|
|
|
.Em char Ns -sized
|
|
|
|
output,
|
|
|
|
.Cm S
|
|
|
|
to specify
|
|
|
|
.Em short Ns -sized
|
|
|
|
output,
|
|
|
|
.Cm I
|
|
|
|
to specify
|
|
|
|
.Em int Ns -sized
|
|
|
|
output,
|
|
|
|
.Cm L
|
|
|
|
to specify
|
|
|
|
.Em long Ns -sized
|
|
|
|
output,
|
|
|
|
.Cm 1
|
|
|
|
to specify one-byte output,
|
|
|
|
.Cm 2
|
|
|
|
to specify two-byte output,
|
|
|
|
.Cm 4
|
|
|
|
to specify four-byte output, or
|
|
|
|
.Cm 8
|
|
|
|
to specify eight-byte output.
|
|
|
|
The default output format is in four-byte quantities.
|
|
|
|
See also the
|
|
|
|
.Cm d ,
|
|
|
|
.Cm o ,
|
|
|
|
.Cm u ,
|
|
|
|
and
|
|
|
|
.Cm x
|
2013-10-29 19:48:38 +01:00
|
|
|
conversions provided by
|
|
|
|
.Xr hexdump 1 .
|
2010-08-21 15:24:09 +02:00
|
|
|
.\"(a|c|f[FLD]?|[doux][C1S2I4L8]?)*
|
|
|
|
.It Fl v
|
|
|
|
The
|
|
|
|
.Fl v
|
|
|
|
option causes
|
|
|
|
.Nm
|
|
|
|
to display all input data.
|
|
|
|
Without the
|
|
|
|
.Fl v
|
|
|
|
option, any number of groups of output lines, which would be
|
|
|
|
identical to the immediately preceding group of output lines (except
|
|
|
|
for the input offsets), are replaced with a line comprised of a
|
2013-10-29 19:48:38 +01:00
|
|
|
single asterisk
|
|
|
|
.Pq Sq \&* .
|
2010-08-21 15:24:09 +02:00
|
|
|
.It Fl X
|
|
|
|
Same as
|
|
|
|
.Fl H .
|
|
|
|
.It Fl x
|
|
|
|
Same as
|
|
|
|
.Fl h .
|
|
|
|
.El
|
|
|
|
.Pp
|
|
|
|
For each input file,
|
|
|
|
.Nm
|
|
|
|
sequentially copies the input to standard output, transforming the
|
|
|
|
data according to the options given.
|
|
|
|
If no options are specified, the
|
|
|
|
default display is equivalent to specifying the
|
|
|
|
.Fl o
|
|
|
|
option.
|
2013-10-29 19:48:38 +01:00
|
|
|
.Sh EXIT STATUS
|
|
|
|
.Ex -std
|
2010-08-21 15:24:09 +02:00
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr hexdump 1 ,
|
|
|
|
.Xr strings 1
|
|
|
|
.Sh HISTORY
|
2013-10-29 19:48:38 +01:00
|
|
|
An
|
2010-08-21 15:24:09 +02:00
|
|
|
.Nm
|
2013-10-29 19:48:38 +01:00
|
|
|
command appeared in
|
2010-08-21 15:24:09 +02:00
|
|
|
.At v1 .
|
|
|
|
.Pp
|
2013-10-29 19:48:38 +01:00
|
|
|
This man page was initially written in February 2001 by Andrew Brown, shortly
|
|
|
|
after he augmented the deprecated
|
|
|
|
.Nm
|
|
|
|
syntax to include things he felt
|
2010-08-21 15:24:09 +02:00
|
|
|
had been missing for a long time.
|