od

Dump a file in various formats (POSIX)

Syntax:

od [-v] [-A format] [-t fmtstr] [-N count]
   [-j skip] [file]...

Runs on:

QNX Neutrino, Microsoft Windows

Options:

-A format
Display the file offset field in one of the following formats:
  • d — decimal, 9 digits
  • n — none (omit this field)
  • o — octal, 10 digits
  • x — hexadecimal, 7 digits

The default is o.

-j skip
Ignore the first skip bytes of data. You can add a trailing character to specify units of blocks (b), kilobytes (k), or megabytes (m).
-N count
Display only count bytes of input. You can add a trailing character to specify units of blocks (b), kilobytes (k), or megabytes (m).
-t format
Display data field using this format specification; see Output formats,” below.

The default format is oS.

-v
Be verbose. If you don't specify the -v option, od folds multiple identical lines into a single line that contains an asterisk (*).
file
The pathname of an input file. If you don't specify any files, od reads from standard input.

Description:

Use the od utility to display a file in various forms, including decimal, hex, octal, and ASCII. The name od (octal dump) is derived from the default output format.

The od utility processes input in 16-byte units that are formatted into a line. In the default output format:

For example:

$ echo "abcdefghijklmnopqrstuvwxyz01234" | od
0000000000 14430661141 15031663145 15432665151 16033667155
0000000020 16434671161 17035673165 06114075171 01215031462
0000000040

To exclude part of the input, use the -N and -j options. You can specify the arguments to these options in hex (using a 0x prefix) or octal (using a 0 prefix). The default units for these options are bytes, but you can specify different units as follows:

To specify: Add this suffix:
Blocks (512 bytes) b
Kilobytes (1024 bytes) k
Megabytes (1048576 bytes) m

Output formats

To specify the output format, use the -t option. The format argument—which you can specify in decimal, hex, or octal—tells od which format to use for presenting the output:

a
Named characters. Display printable characters as themselves, and nonprintable characters as a single dot (.).
c
Characters. Display printable characters as themselves; display all other characters as 2-digit hex values, except for the following:
ASCII mnemonic Value Representation
NUL 00 \0
<alert> 07 \a
<backspace> 08 \b
<tab> 09 \t
<newline> 0a \n
<vertical tab> 0b \v
<formfeed> 0c \f
<carriage return> 0d \r
d[1|2|4|C|S|I|L]
Decimal, in objects the size of an int by default.
f[4|8|F|D|L]
Floating point, in objects the size of an float by default.
o[1|2|4|C|S|I|L]
Octal, in objects the size of an int by default.
u[1|2|4|C|S|I|L]
Unsigned decimal, in objects the size of an int by default.
x[1|2|4|C|S|I|L]
Hexadecimal, in objects the size of an int by default.

The input, processed in 16-byte units formatted into a line, is displayed according to the size you choose:

To display input as: Choose:
Sixteen 1-byte objects 1
Eight 2-byte objects 2
Four 4-byte values per line 4
Two 8-byte values per line 8
char C
double D
float F
int I
long or long double (depending on the format) L
short S

Examples:

Display the second to eleventh sectors of the hard disk, /dev/hd0:

od -j 1b -N 10b /dev/hd0 

Exit status:

0
All input files were processed successfully.
>0
An error occurred.