| 1 | HEXDUMP(1) UNIX Reference Manual HEXDUMP(1) |
| 2 | |
| 3 | N\bNA\bAM\bME\bE |
| 4 | h\bhe\bex\bxd\bdu\bum\bmp\bp - ascii, decimal, hexadecimal, octal dump |
| 5 | |
| 6 | S\bSY\bYN\bNO\bOP\bPS\bSI\bIS\bS |
| 7 | h\bhe\bex\bxd\bdu\bum\bmp\bp [-\b-b\bbc\bcd\bdo\bov\bvx\bx] [-\b-e\be _\bf_\bo_\br_\bm_\ba_\bt__\bs_\bt_\br_\bi_\bn_\bg] [-\b-f\bf _\bf_\bo_\br_\bm_\ba_\bt__\bf_\bi_\bl_\be] [-\b-n\bn _\bl_\be_\bn_\bg_\bt_\bh] |
| 8 | [-\b-s\bs _\bs_\bk_\bi_\bp] _\bf_\bi_\bl_\be ... |
| 9 | |
| 10 | D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN |
| 11 | The hexdump utility is a filter which displays the specified files, or |
| 12 | the standard input, if no files are specified, in a user specified for- |
| 13 | mat. |
| 14 | |
| 15 | The options are as follows: |
| 16 | |
| 17 | -\b-b\bb _\bO_\bn_\be-_\bb_\by_\bt_\be _\bo_\bc_\bt_\ba_\bl _\bd_\bi_\bs_\bp_\bl_\ba_\by. Display the input offset in hexade- |
| 18 | cimal, followed by sixteen space-separated, three column, |
| 19 | zero-filled, bytes of input data, in octal, per line. |
| 20 | |
| 21 | -\b-c\bc _\bO_\bn_\be-_\bb_\by_\bt_\be _\bc_\bh_\ba_\br_\ba_\bc_\bt_\be_\br _\bd_\bi_\bs_\bp_\bl_\ba_\by. Display the input offset in hexa- |
| 22 | decimal, followed by sixteen space-separated, three column, |
| 23 | space-filled, characters of input data per line. |
| 24 | |
| 25 | -\b-d\bd _\bT_\bw_\bo-_\bb_\by_\bt_\be _\bd_\be_\bc_\bi_\bm_\ba_\bl _\bd_\bi_\bs_\bp_\bl_\ba_\by. Display the input offset in hexade- |
| 26 | cimal, followed by eight space-separated, five column, zero- |
| 27 | filled, two-byte units of input data, in unsigned decimal, per |
| 28 | line. |
| 29 | |
| 30 | -\b-e\be _\bf_\bo_\br_\bm_\ba_\bt__\bs_\bt_\br_\bi_\bn_\bg |
| 31 | Specify a format string to be used for displaying data. |
| 32 | |
| 33 | -\b-f\bf _\bf_\bo_\br_\bm_\ba_\bt__\bf_\bi_\bl_\be |
| 34 | Specify a file that contains one or more newline separated |
| 35 | format strings. Empty lines and lines whose first non-blank |
| 36 | character is a hash mark (#\b#) are ignored. |
| 37 | |
| 38 | -\b-n\bn _\bl_\be_\bn_\bg_\bt_\bh |
| 39 | Interpret only _\bl_\be_\bn_\bg_\bt_\bh bytes of input. |
| 40 | |
| 41 | -\b-o\bo _\bT_\bw_\bo-_\bb_\by_\bt_\be _\bo_\bc_\bt_\ba_\bl _\bd_\bi_\bs_\bp_\bl_\ba_\by. Display the input offset in hexade- |
| 42 | cimal, followed by eight space-separated, six column, zero- |
| 43 | filled, two byte quantities of input data, in octal, per line. |
| 44 | |
| 45 | -\b-s\bs _\bo_\bf_\bf_\bs_\be_\bt |
| 46 | Skip _\bo_\bf_\bf_\bs_\be_\bt bytes from the beginning of the input. By default, |
| 47 | _\bo_\bf_\bf_\bs_\be_\bt is interpreted as a decimal number. With a leading 0\b0x\bx |
| 48 | or 0\b0X\bX, _\bo_\bf_\bf_\bs_\be_\bt is interpreted as a hexadecimal number, other- |
| 49 | wise, with a leading 0\b0, _\bo_\bf_\bf_\bs_\be_\bt is interpreted as an octal |
| 50 | number. Appending the character b\bb, k\bk, or m\bm to _\bo_\bf_\bf_\bs_\be_\bt causes it |
| 51 | to be interpreted as a multiple of 512, 1024, or 1048576, |
| 52 | respectively. |
| 53 | |
| 54 | -\b-v\bv The -\b-v\bv option causes hexdump to display all input data. |
| 55 | Without the -\b-v\bv option, any number of groups of output lines, |
| 56 | which would be identical to the immediately preceding group of |
| 57 | output lines (except for the input offsets), are replaced with |
| 58 | a line comprised of a single asterisk. |
| 59 | |
| 60 | -\b-x\bx _\bT_\bw_\bo-_\bb_\by_\bt_\be _\bh_\be_\bx_\ba_\bd_\be_\bc_\bi_\bm_\ba_\bl _\bd_\bi_\bs_\bp_\bl_\ba_\by. Display the input offset in hex- |
| 61 | adecimal, followed by eight, space separated, four column, |
| 62 | zero-filled, two-byte quantities of input data, in hexadecimal, |
| 63 | per line. |
| 64 | |
| 65 | For each input file, h\bhe\bex\bxd\bdu\bum\bmp\bp sequentially copies the input to standard |
| 66 | output, transforming the data according to the format strings specified |
| 67 | by the -\b-e\be and -\b-f\bf options, in the order that they were specified. |
| 68 | F\bFo\bor\brm\bma\bat\bts\bs |
| 69 | A format string contains any number of format units, separated by whi- |
| 70 | tespace. A format unit contains up to three items: an iteration count, a |
| 71 | byte count, and a format. |
| 72 | |
| 73 | The iteration count is an optional positive integer, which defaults to |
| 74 | one. Each format is applied iteration count times. |
| 75 | |
| 76 | The byte count is an optional positive integer. If specified it defines |
| 77 | the number of bytes to be interpreted by each iteration of the format. |
| 78 | |
| 79 | If an iteration count and/or a byte count is specified, a single slash |
| 80 | must be placed after the iteration count and/or before the byte count to |
| 81 | disambiguate them. Any whitespace before or after the slash is ignored. |
| 82 | |
| 83 | The format is required and must be surrounded by double quote (" ") |
| 84 | marks. It is interpreted as a fprintf-style format string (see |
| 85 | fprintf(3)), with the following exceptions: |
| 86 | |
| 87 | o\bo\b\b\b+\b+ An asterisk (*) may not be used as a field width or preci- |
| 88 | sion. |
| 89 | |
| 90 | o\bo\b\b\b+\b+ A byte count or field precision _\bi_\bs required for each ``s'' |
| 91 | conversion character (unlike the fprintf(3) default which |
| 92 | prints the entire string if the precision is unspecified). |
| 93 | |
| 94 | o\bo\b\b\b+\b+ The conversion characters ``h'', ``n'', and ``p'' are not |
| 95 | supported. |
| 96 | |
| 97 | o\bo\b\b\b+\b+ The single character escape sequences described in the C |
| 98 | standard are supported: |
| 99 | |
| 100 | NUL \0 |
| 101 | <alert character> \a |
| 102 | <backspace> \b |
| 103 | <form-feed> \f |
| 104 | <newline> \n |
| 105 | <carriage return> \r |
| 106 | <tab> \t |
| 107 | <vertical tab> \v |
| 108 | |
| 109 | Hexdump also supports the the following additional conversion strings: |
| 110 | |
| 111 | _\b_a\ba[d\bdo\box\bx] Display the input offset, cumulative across input files, of the |
| 112 | next byte to be displayed. The appended characters d\bd, o\bo, and x\bx |
| 113 | specify the display base as decimal, octal or hexadecimal |
| 114 | respectively. |
| 115 | |
| 116 | _\b_A\bA[d\bdo\box\bx] Identical to the _\b_a\ba conversion string except that it is only |
| 117 | performed once, when all of the input data has been processed. |
| 118 | |
| 119 | _\b_c\bc Output characters in the default character set. Nonprinting |
| 120 | characters are displayed in three character, zero-padded octal, |
| 121 | except for those representable by standard escape notation (see |
| 122 | above), which are displayed as two character strings. |
| 123 | |
| 124 | _\b_p\bp Output characters in the default character set. Nonprinting |
| 125 | characters are displayed as a single ``.\b.''. |
| 126 | |
| 127 | _\b_u\bu Output US ASCII characters, with the exception that control |
| 128 | characters are displayed using the following, lower-case, |
| 129 | names. Characters greater than 0xff, hexadecimal, are |
| 130 | displayed as hexadecimal strings. |
| 131 | |
| 132 | 000 nul 001 soh 002 stx 003 etx 004 eot 005 enq |
| 133 | 006 ack 007 bel 008 bs 009 ht 00A lf 00B vt |
| 134 | 00C ff 00D cr 00E so 00F si 010 dle 011 dc1 |
| 135 | 012 dc2 013 dc3 014 dc4 015 nak 016 syn 017 etb |
| 136 | 018 can 019 em 01A sub 01B esc 01C fs 01D gs |
| 137 | 01E rs 01F us 0FF del |
| 138 | |
| 139 | The default and supported byte counts for the conversion characters are |
| 140 | as follows: |
| 141 | |
| 142 | %_c, %_p, %_u, %c One byte counts only. |
| 143 | |
| 144 | %d, %i, %o, %u, %X, %x Four byte default, one and two byte counts |
| 145 | supported. |
| 146 | |
| 147 | %E, %e, %f, %G, %g Eight byte default, four byte counts |
| 148 | supported. |
| 149 | |
| 150 | The amount of data interpreted by each format string is the sum of the |
| 151 | data required by each format unit, which is the iteration count times the |
| 152 | byte count, or the iteration count times the number of bytes required by |
| 153 | the format if the byte count is not specified. |
| 154 | |
| 155 | The input is manipulated in ``blocks'', where a block is defined as the |
| 156 | largest amount of data specified by any format string. Format strings |
| 157 | interpreting less than an input block's worth of data, whose last format |
| 158 | unit both interprets some number of bytes and does not have a specified |
| 159 | iteration count, have the the interation count incremented until the |
| 160 | entire input block has been processed or there is not enough data |
| 161 | remaining in the block to satisfy the format string. |
| 162 | |
| 163 | If, either as a result of user specification or hexdump modifying the |
| 164 | iteration count as described above, an iteration count is greater than |
| 165 | one, no trailing whitespace characters are output during the last |
| 166 | iteration. |
| 167 | |
| 168 | It is an error to specify a byte count as well as multiple conversion |
| 169 | characters or strings unless all but one of the conversion characters or |
| 170 | strings is _\b_a\ba or _\b_A\bA. |
| 171 | |
| 172 | If, as a result of the specification of the -\b-n\bn option or end-of-file be- |
| 173 | ing reached, input data only partially satisfies a format string, the in- |
| 174 | put block is zero-padded sufficiently to display all available data (i.e. |
| 175 | any format units overlapping the end of data will display some number of |
| 176 | the zero bytes). |
| 177 | |
| 178 | Further output by such format strings is replaced by an equivalent number |
| 179 | of spaces. An equivalent number of spaces is defined as the number of |
| 180 | spaces output by an s\bs conversion character with the same field width and |
| 181 | precision as the original conversion character or conversion string but |
| 182 | with any ``+'', `` '', ``#'' conversion flag characters removed, and re- |
| 183 | ferencing a NULL string. |
| 184 | |
| 185 | If no format strings are specified, the default display is equivalent to |
| 186 | specifying the -\b-x\bx option. |
| 187 | |
| 188 | h\bhe\bex\bxd\bdu\bum\bmp\bp exits 0 on success and >0 if an error occurred. |
| 189 | |
| 190 | E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS |
| 191 | Display the input in perusal format: |
| 192 | |
| 193 | "%06.6_ao " 12/1 "%3_u " |
| 194 | "\t\t" "%_p " |
| 195 | "\n" |
| 196 | |
| 197 | Implement the -x option: |
| 198 | |
| 199 | |
| 200 | "%07.7_Ax\n" |
| 201 | "%07.7_ax " 8/2 "%04x " "\n" |
| 202 | |
| 203 | S\bSE\bEE\bE A\bAL\bLS\bSO\bO |
| 204 | adb(1) |
| 205 | |
| 206 | S\bST\bTA\bAN\bND\bDA\bAR\bRD\bDS\bS |
| 207 | The h\bhe\bex\bxd\bdu\bum\bmp\bp utility is expected to be POSIX 1003.2 compatible. |