OD(1)

πŸ“¦
version 9.10 Β· 5 versions
, in ubuntu stonking

✨ NAME ✨

od β€” dump files in octal and other formats πŸ’… (she's a section 1 manual page, user commands, and yes bestie she ate)


🌸 SYNOPSIS 🌸

od [OPTION]... [FILE]...
od [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]
od --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]]

πŸ’– DESCRIPTION πŸ’–

So basically, od writes an unambiguous representation of FILE to standard output, and it's octal bytes by default. Unambiguous is the whole point β€” no guessing games, no "is that a 0 or an O" situations. πŸ‘‘

If you hand it more than one FILE argument, it concatenates them in the listed order and that becomes the input. Like a lil friend group holding hands. 🫢

With no FILE, or when FILE is -, it reads standard input. Classic.

Now here's the tea on the fancy forms: if the 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 the first byte printed, and it gets incremented while the dump is progressing. For OFFSET and LABEL, a 0x or 0X prefix means hexadecimal; suffixes may be . for octal and b for multiply by 512. 🧚

Mandatory arguments to long options are mandatory for short options too. (No cap, that's just how it is.)


πŸŽ€ OPTIONS πŸŽ€

  • -A, --address-radix=RADIX β€” the output format for file offsets; RADIX is one of [doxn], and those stand for Decimal, Octal, Hex or None πŸ’«
  • --endian={big|little} β€” swap input bytes according to the order you picked
  • -j, --skip-bytes=BYTES β€” skip BYTES input bytes first, like walking past the intro
  • -N, --read-bytes=BYTES β€” limit the dump to BYTES input bytes
  • -S BYTES, --strings[=BYTES] β€” show only NUL terminated strings of at least BYTES (default 3) printable characters
  • -t, --format=TYPE β€” select output format or formats (plural slay)
  • -v, --output-duplicates β€” do not use * to mark line suppression
  • -w[BYTES], --width[=BYTES] β€” output BYTES bytes per output line; 32 is implied when BYTES is not specified
  • --traditional β€” accept arguments in the third form up in the synopsis
  • --help β€” display this help and exit πŸ₯°
  • --version β€” output version information and exit

πŸ’œ Traditional format specifications may be intermixed; they accumulate πŸ’œ

(the way they just keep stacking, obsessed)

  • -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 printable 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

🌈 TYPE is made up of one or more of these specifications 🌈

  • a β€” named character, ignoring high-order bit
  • c β€” printable character or backslash escape
  • d[SIZE] β€” signed decimal, SIZE bytes per integer
  • f[SIZE] β€” floating point, SIZE bytes per float
  • 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 [doux], 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 B for Brain 16 bit, H for Half precision float, F for sizeof(float), D for sizeof(double), or L for sizeof(long double). 🧠

Adding a z suffix to any type displays printable characters at the end of each output line. Little garnish, love that for us. ✨

πŸ¦‹ BYTES is hex with 0x or 0X prefix, and may have a multiplier suffix πŸ¦‹

  • b β€” 512
  • KB β€” 1000
  • K β€” 1024
  • MB β€” 1000*1000
  • M β€” 1024*1024
  • and so on for G, T, P, E, Z, Y, R, Q. Binary prefixes can be used, too: KiB=K, MiB=M, and so on. ⭐

πŸ”₯ EXAMPLES πŸ”₯

  • od -A x -t x1z -v Display hexdump format output
  • od -A o -t oS -w16 The default output format used by od

πŸ‘‘ AUTHOR πŸ‘‘

Written by Jim Meyering. (thank u king, the legacy is real)


πŸ’€ REPORTING BUGS πŸ’€

Report bugs to: bug-coreutils@gnu.org

GNU coreutils home page: https://www.gnu.org/software/coreutils/

General help using GNU software: https://www.gnu.org/gethelp/

Report any translation bugs to https://translationproject.org/team/

fr fr if something's busted, tell the coreutils girlies, they want to know πŸ™ˆ

πŸ“ SEE ALSO πŸ“

Full documentation https://www.gnu.org/software/coreutils/od or available locally via: info '(coreutils) od invocation'

Packaged by Ubuntu (9.10-1ubuntu2).

Copyright Β© 2026 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later https://gnu.org/licenses/gpl.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. (no warranty bestie, it's giving "use at your own risk" but make it legally binding πŸ’…)


okay that's the whole page, mwah πŸ’– this was GNU coreutils 9.10, dated August 2026, and the manual is OD(1) β€” go dump some bytes and be the main character of your own terminal, periodt 🌟

πŸ“¦ where this page comes from