display files in decimal, hex, octal, or ASCII (UNIX)
hd [-A format] [-n count] [-s skip] [-t fmt_string] [-v] [file...]
format | Display |
---|---|
x | (hex, 7 digits) |
o | (octal, 10 digits) |
d | (decimal, 9 digits) |
n | (none) |
You use the hd utility to output 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, if you issue the following command:
echo "abcdefghijklmnopqrstuvwxyz01234" | hd
you should see the following output:
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.
The -v option (verbose) inhibits hd's default behavior of folding multiple identical lines into a single line that contains an asterisk (*). When -v is specified, all data is displayed.
To exclude part of the input, you 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 arguments to -n and -s also let you specify three different units:
To specify: | Add this suffix: |
---|---|
blocks (512 bytes) | b |
kilobytes (1024 bytes) | k |
megabytes (1048576 bytes) | m |
To specify the output format, you use the -t option. The fmt_string argument - which can be specified in decimal, hex, or octal - instructs hd as to which format to use for presenting the output. The fmt_string argument can be one of the following:
fmt_string: | Display as: |
---|---|
o[1|2|4] | octal, 1-, 2-, or 4-byte objects (default is 2) |
x[1|2|4] | hex 1-, 2-, or 4-byte objects (default is 2) |
X[1|2|4] | hex 1-, 2-, or 4-bytes objects, with characters (default is 1) |
d[1|2|4] | decimal 1-, 2-, or 4-byte objects (default is 2) |
c | characters |
The input, processed in 16-byte units formatted into a line, is displayed according to the option ([1|2|4]) you choose:
To display input as: | Choose: |
---|---|
sixteen 1-byte objects | 1 |
eight 2-byte objects | 2 |
four 4-byte values per line | 4 |
The X (uppercase) format instructs hd to redisplay the input block at the end of line in a special character format. The special character format displays printable characters ``as is'' and nonprintable characters as a single dot (.). If you don't specify the -t option, the default output format is the same as using the option -t X.
The c format displays printable characters as themselves. With the exception of the following characters, all other characters are displayed as 2-digit hex values.
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 |
Display the 2nd to 11th sectors of the floppy disk /dev/fd0:
hd -s 1b -n 10b /dev/fd0 | more