od
od [OPTION]... [--] [FILENAME]...
od [-abcdDefFhHiIlLoOsxX] [FILENAME] [[+][0x]OFFSET[.][b]]
od --traditional [OPTION]... [FILENAME] [[+][0x]OFFSET[.][b] [[+][0x]LABEL[.][b]]]
Dump files in octal and other formats
Options
--help
-
Print help information.
--address-radix=<RADIX>
,-A <RADIX>
-
Select the base in which file offsets are printed.
--skip-bytes=<BYTES>
,-j <BYTES>
-
Skip bytes input bytes before formatting and writing.
--read-bytes=<BYTES>
,-N <BYTES>
-
limit dump to BYTES input bytes
--endian=<big|little>
-
byte order to use for multi-byte formats
--strings=<BYTES>
,-S <BYTES>
-
NotImplemented: output strings of at least BYTES graphic chars. 3 is assumed when BYTES is not specified.
-a
-
named characters, ignoring high-order bit
-b
-
octal bytes
-c
-
ASCII characters or backslash escapes
-d
-
unsigned decimal 2-byte units
-D
-
unsigned decimal 4-byte units
-o
-
octal 2-byte units
-I
-
decimal 8-byte units
-L
-
decimal 8-byte units
-i
-
decimal 4-byte units
-l
-
decimal 8-byte units
-x
-
hexadecimal 2-byte units
-h
-
hexadecimal 2-byte units
-O
-
octal 4-byte units
-s
-
decimal 2-byte units
-X
-
hexadecimal 4-byte units
-H
-
hexadecimal 4-byte units
-e
-
floating point double precision (64-bit) units
-f
-
floating point double precision (32-bit) units
-F
-
floating point double precision (64-bit) units
--format=<TYPE>
,-t <TYPE>
-
select output format or formats
--output-duplicates
,-v
-
do not use * to mark line suppression
--width=<BYTES>
,-w <BYTES>
-
output BYTES bytes per output line. 32 is implied when BYTES is not specified.
--traditional
-
compatibility mode with one input, offset and label.
Displays data in various human-readable formats. If multiple formats are specified, the output will contain all formats in the order they appear on the command line. Each format will be printed on a new line. Only the line containing the first format will be prefixed with the offset.
If no filename is specified, or it is "-", stdin will be used. After a "--", no more options will be recognized. This allows for filenames starting with a "-".
If a filename is a valid number which can be used as an offset in the second form, you can force it to be recognized as a filename if you include an option like "-j0", which is only valid in the first form.
RADIX is one of o,d,x,n for octal, decimal, hexadecimal or none.
BYTES is decimal by default, octal if prefixed with a "0", or hexadecimal if prefixed with "0x". The suffixes b, KB, K, MB, M, GB, G, will multiply the number with 512, 1000, 1024, 1000^2, 1024^2, 1000^3, 1024^3, 1000^2, 1024^2.
OFFSET and LABEL are octal by default, hexadecimal if prefixed with "0x" or decimal if a "." suffix is added. The "b" suffix will multiply with 512.
TYPE contains one or more format specifications consisting of: a for printable 7-bits ASCII c for utf-8 characters or octal for undefined characters d[SIZE] for signed decimal f[SIZE] for floating point o[SIZE] for octal u[SIZE] for unsigned decimal x[SIZE] for hexadecimal SIZE is the number of bytes which can be the number 1, 2, 4, 8 or 16, or C, I, S, L for 1, 2, 4, 8 bytes for integer types, or F, D, L for 4, 8, 16 bytes for floating point. Any type specification can have a "z" suffix, which will add a ASCII dump at the end of the line.
If an error occurred, a diagnostic message will be printed to stderr, and the exit code will be non-zero.
Examples
Display file using default settings: octal format, 8 bytes per line, byte offsets in octal, and duplicate lines replaced with *
:
od {{path/to/file}}
Display file in verbose mode, i.e. without replacing duplicate lines with *
:
od -v {{path/to/file}}
Display file in hexadecimal format (2-byte units), with byte offsets in decimal format:
od --format={{x}} --address-radix={{d}} -v {{path/to/file}}
Display file in hexadecimal format (1-byte units), and 4 bytes per line:
od --format={{x1}} --width={{4}} -v {{path/to/file}}
Display file in hexadecimal format along with its character representation, and do not print byte offsets:
od --format={{xz}} --address-radix={{n}} -v {{path/to/file}}
Read only 100 bytes of a file starting from the 500th byte:
od --read-bytes 100 --skip-bytes=500 -v {{path/to/file}}
The examples are provided by the tldr-pages project under the CC BY 4.0 License.
Please note that, as uutils is a work in progress, some examples might fail.