OD(1) | General Commands Manual | OD(1)

# NAME

`od` —
octal, decimal, hex, ascii dump

# SYNOPSIS

`od` | [`-aBbcDdeFfHhIiLlOovXx`] [`-A` base] [`-j` skip] [`-N` length] [`-t` type_string] [[`+`]`offset`[`.`][`Bb`]] [file ...]

# DESCRIPTION

The `od` utility is a filter which displays each specified file, or the standard input if no file arguments are specified, in a user specified format.

The options are as follows:

`-A` base
  Specify the input address base. base may be one of ‘`d`’, ‘`o`’, ‘`x`’ or ‘`n`’, which specify decimal, octal, hexadecimal addresses or no address, respectively.
`-a`
  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.
`-B`
  Same as `-o`.
`-b`
  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.
`-c`
  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.
`-d`
  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.
`-e`
  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.
`-F`
  Same as `-e`.
`-f`
  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.
`-H`
  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.
`-h`
  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.
`-I`
  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.
`-i`
  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.
`-j` skip
  Skip skip bytes from the beginning of the input. By default, skip is interpreted as a decimal number. With a leading `0x` or `0X`, skip is interpreted as a hexadecimal number; otherwise, with a leading `0`, skip is interpreted as an octal number. Appending the character `b`, `k`, or `m` to skip causes it to be interpreted as a multiple of `512`, `1024`, or `1048576`, respectively.
`-L`
  Same as `-I`.
`-l`
  Same as `-I`.
`-N` length
  Interpret only length bytes of input.
`-O`
  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.
`-o`
  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.
`-t` type_string
  Specify one or more output types. The 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:

  `a` selects US-ASCII output, with control characters replaced with their names instead of as C escape sequences. See also the `_u` conversion provided by hexdump(1).

  `c` selects a standard character based conversion. See also the `_c` conversion provided by hexdump(1).

  `f` selects the floating point output format. This type character can be optionally followed by the characters `4` or `F` to specify four byte floating point output, or `8` or `L` to specify eight byte floating point output. The default output format is eight byte floats. See also the `e` conversion provided by hexdump(1).

  `d`, `o`, `u`, or `x` select decimal, octal, unsigned decimal, or hex output respectively. These types can optionally be followed by `C` to specify char-sized output, `S` to specify short-sized output, `I` to specify int-sized output, `L` to specify long-sized output, `1` to specify one-byte output, `2` to specify two-byte output, `4` to specify four-byte output, or `8` to specify eight-byte output. The default output format is in four-byte quantities. See also the `d`, `o`, `u`, and `x` conversions provided by hexdump(1).

`-v`
  The `-v` option causes `od` to display all input data. Without the `-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 (‘*’).
`-X`
  Same as `-H`.
`-x`
  Same as `-h`.

For each input file, `od` 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 `-o` option.

# EXIT STATUS

The `od` utility exits 0 on success, and >0 if an error occurs.

# SEE ALSO

hexdump(1), strings(1)

# HISTORY

An `od` command appeared in Version 1 AT&T UNIX.

This man page was initially 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.

June 24, 2012 | NetBSD 9.4