Display files in decimal, hex, octal, or ASCII (UNIX)
hd [-8] [-A format] [-n count] [-s skip] [-t format[fmt_string]] [-v] [file...]
The default format is x1.
The hd utility displays data in decimal, hex, octal, or ASCII. The name "hd" (hex dump) is derived from the default output format.
The hd utility processes input in 16-byte units that are formatted into a line. In the default output format:
For example:
$ echo "abcdefghijklmnopqrstuvwxyz01234" | hd 0000000: 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 abcdefghijklmnop 0000010: 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34 0a qrstuvwxyz01234.
To exclude part of the input, use the -n and -s 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 |
To specify the output format, use the -t option. The format argument -- which you can specify in decimal, hex, or octal -- tells hd which format to use for presenting the output:
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 |
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 |
Display the second to eleventh sectors of the hard disk, /dev/hd0:
hd -s 1b -n 10b /dev/hd0