Linux od command
On Unix-like operating systems, the od command dumps the contents of files to octal, and other formats.
This page describes the GNU/Linux version of od.
Description
The od command writes an unambiguous representation, using octal bytes by default, of FILE to standard output. If more than one FILE is specified, od concatenates them in the listed order to form the input. With no FILE, or when FILE is a dash ("-"), od reads from standard input.
Syntax
od [OPTION]... [FILE]...
od [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]
od --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]]
Options
All arguments to --long options are mandatory for -short options.
-A RADIX, --address-radix=RADIX | decide how file offsets are printed |
-j BYTES, --skip-bytes=BYTES | skip BYTES input bytes first |
-N BYTES, --read-bytes=BYTES | limit dump to BYTES input bytes |
-S BYTES, --strings[=BYTES] | output strings of at least BYTES graphic chars |
-t TYPE, --format=TYPE | select output format or formats |
-v, --output-duplicates | do not use * to mark line suppression |
-w[BYTES], --width[=BYTES] | output BYTES bytes per output line |
--traditional | accept arguments in traditional form |
--help | display help and exit |
--version | display version information and exit |
Format specifications
-a | same as -t a, select named characters, ignoring high-order bit |
-b | same as -t o1, select octal bytes |
-c | same as -t c, select ASCII (American Standard Code for Information Interchange) characters or backslash escapes |
-d | same as -t u2, select unsigned decimal 2-byte units |
-f | same as -t fF, select floats |
-i | same as -t dI, select decimal ints |
-l | same as -t dL, select decimal longs |
-o | same as -t o2, select octal 2-byte units |
-s | same as -t d2, select decimal 2-byte units |
-x | same as -t x2, select hexadecimal 2-byte units |
If first and second call formats both apply, the second format is assumed if the last operand begins with "+" or (if there are 2 operands) a digit. An OFFSET operand means -j OFFSET. LABEL is the pseudo-address at first byte printed, incremented when dump is progressing. For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal; suffixes may be "." for octal and b for multiply by 512.
TYPE is made up of one or more of these specifications:
a | named character, ignoring high-order bit |
c | ASCII character or backslash escape |
d[SIZE] | signed decimal, SIZE bytes per integer |
f[SIZE] | floating point, SIZE bytes per integer |
o[SIZE] | octal, SIZE bytes per integer |
u[SIZE] | unsigned decimal, SIZE bytes per integer |
x[SIZE] | hexadecimal, SIZE bytes per integer |
SIZE is a number. For TYPE in d/o/u/x, SIZE may also be C for sizeof(char), S for sizeof(short), I for sizeof(int) or L for sizeof(long). If TYPE is f, SIZE may also be F for sizeof(float), D for sizeof(double) or L for sizeof(long double).
RADIX is d for decimal, o for octal, x for hexadecimal or n for none. BYTES is hexadecimal with 0x or 0X prefix, and may have a multiplier suffix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y. Adding a z suffix to any type displays printable characters at the end of each output line. Option --string without a number implies 3; option --width without a number implies 32. By default, od uses -A o -t oS -w16.
Examples
od -b file.txt
Display the contents of file.txt in octal format (one byte per integer).
od -Ax -c file.txt
Display the contents of file.txt in ASCII (character) format, with byte offsets displayed as hexadecimal.