304 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			304 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.\"  $NetBSD: od.1,v 1.25 2010/02/09 14:25:39 wiz Exp $
 | 
						|
.\"
 | 
						|
.\" 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.
 | 
						|
.\"/
 | 
						|
.Dd February 9, 2010
 | 
						|
.Dt OD 1
 | 
						|
.Os
 | 
						|
.Sh NAME
 | 
						|
.Nm od
 | 
						|
.Nd octal, decimal, hex, ascii dump
 | 
						|
.Sh SYNOPSIS
 | 
						|
.Nm
 | 
						|
.Op Fl aBbcDdeFfHhIiLlOovXx
 | 
						|
.Bk -words
 | 
						|
.Op Fl A Ar base
 | 
						|
.Op Fl j Ar skip
 | 
						|
.Ek
 | 
						|
.Bk -words
 | 
						|
.Op Fl N Ar length
 | 
						|
.Ek
 | 
						|
.Bk -words
 | 
						|
.Op Fl t Ar type_string
 | 
						|
.Ek
 | 
						|
.Sm off
 | 
						|
.Oo
 | 
						|
.Op Cm \&+
 | 
						|
.Li offset
 | 
						|
.Op Cm \&.
 | 
						|
.Op Cm Bb
 | 
						|
.Sm on
 | 
						|
.Oc
 | 
						|
.Ar file ...
 | 
						|
.Sh DESCRIPTION
 | 
						|
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.
 | 
						|
.It Fl j Ar offset
 | 
						|
Skip
 | 
						|
.Ar offset
 | 
						|
bytes from the beginning of the input.
 | 
						|
By default,
 | 
						|
.Ar offset
 | 
						|
is interpreted as a decimal number.
 | 
						|
With a leading
 | 
						|
.Cm 0x
 | 
						|
or
 | 
						|
.Cm 0X ,
 | 
						|
.Ar offset
 | 
						|
is interpreted as a hexadecimal number,
 | 
						|
otherwise, with a leading
 | 
						|
.Cm 0 ,
 | 
						|
.Ar offset
 | 
						|
is interpreted as an octal number.
 | 
						|
Appending the character
 | 
						|
.Cm b ,
 | 
						|
.Cm k ,
 | 
						|
or
 | 
						|
.Cm m
 | 
						|
to
 | 
						|
.Ar offset
 | 
						|
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
 | 
						|
conversion provided by hexdump(1).
 | 
						|
.Pp
 | 
						|
.Cm c
 | 
						|
selects a standard character based conversion.
 | 
						|
See also the
 | 
						|
.Cm _c
 | 
						|
conversion provided by hexdump(1).
 | 
						|
.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
 | 
						|
conversion provided by hexdump(1).
 | 
						|
.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
 | 
						|
conversions provided by hexdump(1).
 | 
						|
.\"(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
 | 
						|
single asterisk.
 | 
						|
.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.
 | 
						|
.Pp
 | 
						|
.Nm
 | 
						|
exits 0 on success and \*[Gt]0 if an error occurred.
 | 
						|
.Sh SEE ALSO
 | 
						|
.Xr hexdump 1 ,
 | 
						|
.Xr strings 1
 | 
						|
.Sh HISTORY
 | 
						|
A
 | 
						|
.Nm
 | 
						|
command appears in
 | 
						|
.At v1 .
 | 
						|
.Pp
 | 
						|
This man page was written in February 2001 by Andrew Brown, shortly
 | 
						|
after he augmented the deprecated od syntax to include things he felt
 | 
						|
had been missing for a long time.
 |