765 lines
12 KiB
HTML
765 lines
12 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML><HEAD><TITLE>Man page of HEXDUMP</TITLE>
|
|
</HEAD><BODY>
|
|
<H1>HEXDUMP</H1>
|
|
Section: User Commands (1)<BR><A HREF="#index">Index</A>
|
|
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
|
<BR>BSD mandoc<BR>
|
|
<A NAME="lbAB"> </A>
|
|
<H2>NAME</H2>
|
|
|
|
|
|
|
|
<B>hexdump , hd</B>
|
|
|
|
- ASCII, decimal, hexadecimal, octal dump
|
|
|
|
<A NAME="lbAC"> </A>
|
|
<H2>SYNOPSIS</H2>
|
|
|
|
<B></B>
|
|
|
|
|
|
[-<B>bcCdovx</B>
|
|
|
|
]
|
|
|
|
[-<B>e </B><I>format_string</I>
|
|
|
|
|
|
|
|
]
|
|
|
|
[-<B>f </B><I>format_file</I>
|
|
|
|
|
|
|
|
]
|
|
|
|
[-<B>n </B><I>length</I>
|
|
|
|
|
|
|
|
]
|
|
|
|
-words
|
|
|
|
[-<B>s </B><I>offset</I>
|
|
|
|
|
|
|
|
]
|
|
|
|
<I>file ...</I>
|
|
|
|
|
|
|
|
<BR><B>hd</B>
|
|
|
|
[-<B>bcdovx</B>
|
|
|
|
]
|
|
|
|
[-<B>e </B><I>format_string</I>
|
|
|
|
|
|
|
|
]
|
|
|
|
[-<B>f </B><I>format_file</I>
|
|
|
|
|
|
|
|
]
|
|
|
|
[-<B>n </B><I>length</I>
|
|
|
|
|
|
|
|
]
|
|
|
|
-words
|
|
|
|
[-<B>s </B><I>offset</I>
|
|
|
|
|
|
|
|
]
|
|
|
|
<I>file ...</I>
|
|
|
|
|
|
|
|
<A NAME="lbAD"> </A>
|
|
<H2>DESCRIPTION</H2>
|
|
|
|
The
|
|
<B></B>
|
|
|
|
|
|
utility is a filter which displays the specified files, or
|
|
the standard input, if no files are specified, in a user specified
|
|
format.
|
|
<P>
|
|
|
|
The options are as follows:
|
|
<DL COMPACT>
|
|
<P>
|
|
|
|
<DT id="1"><B>-b</B>
|
|
|
|
|
|
<DD>
|
|
<I>One-byte octal display</I>
|
|
|
|
|
|
Display the input offset in hexadecimal, followed by sixteen
|
|
space-separated, three column, zero-filled, bytes of input data,
|
|
in octal, per line.
|
|
<DT id="2"><B>-c</B>
|
|
|
|
|
|
<DD>
|
|
<I>One-byte character display</I>
|
|
|
|
|
|
Display the input offset in hexadecimal, followed by sixteen
|
|
space-separated, three column, space-filled, characters of input
|
|
data per line.
|
|
<DT id="3"><B>-C</B>
|
|
|
|
|
|
<DD>
|
|
<I>Canonical hex+ASCII display</I>
|
|
|
|
|
|
Display the input offset in hexadecimal, followed by sixteen
|
|
space-separated, two column, hexadecimal bytes, followed by the
|
|
same sixteen bytes in %_p format enclosed in ``|'' characters.
|
|
<P>
|
|
|
|
Calling the command
|
|
<B>hd</B>
|
|
|
|
implies this option.
|
|
<DT id="4"><B>-d</B>
|
|
|
|
|
|
<DD>
|
|
<I>Two-byte decimal display</I>
|
|
|
|
|
|
Display the input offset in hexadecimal, followed by eight
|
|
space-separated, five column, zero-filled, two-byte units
|
|
of input data, in unsigned decimal, per line.
|
|
<DT id="5"><B>-e </B><I>format_string</I>
|
|
|
|
|
|
|
|
|
|
<DD>
|
|
Specify a format string to be used for displaying data.
|
|
<DT id="6"><B>-f </B><I>format_file</I>
|
|
|
|
|
|
|
|
|
|
<DD>
|
|
Specify a file that contains one or more newline separated format strings.
|
|
Empty lines and lines whose first non-blank character is a hash mark
|
|
( <B>#</B>
|
|
|
|
|
|
|
|
|
|
are ignored.
|
|
<DT id="7"><B>-n </B><I>length</I>
|
|
|
|
|
|
|
|
|
|
<DD>
|
|
Interpret only
|
|
<I>length</I>
|
|
|
|
bytes of input.
|
|
<DT id="8"><B>-o</B>
|
|
|
|
|
|
<DD>
|
|
<I>Two-byte octal display</I>
|
|
|
|
|
|
Display the input offset in hexadecimal, followed by eight
|
|
space-separated, six column, zero-filled, two byte quantities of
|
|
input data, in octal, per line.
|
|
<DT id="9"><B>-s </B><I>offset</I>
|
|
|
|
|
|
|
|
|
|
<DD>
|
|
Skip
|
|
<I>offset</I>
|
|
|
|
bytes from the beginning of the input.
|
|
By default,
|
|
<I>offset</I>
|
|
|
|
is interpreted as a decimal number.
|
|
With a leading
|
|
<B>0x</B>
|
|
|
|
or
|
|
<B>0X</B>
|
|
|
|
|
|
<I>offset</I>
|
|
|
|
is interpreted as a hexadecimal number,
|
|
otherwise, with a leading
|
|
<B>0</B>
|
|
|
|
|
|
<I>offset</I>
|
|
|
|
is interpreted as an octal number.
|
|
Appending the character
|
|
<B>b</B>
|
|
|
|
|
|
<B>k</B>
|
|
|
|
|
|
or
|
|
<B>m</B>
|
|
|
|
to
|
|
<I>offset</I>
|
|
|
|
causes it to be interpreted as a multiple of
|
|
<B>512</B>
|
|
|
|
|
|
<B>1024</B>
|
|
|
|
|
|
or
|
|
<B>1048576</B>
|
|
|
|
|
|
respectively.
|
|
<DT id="10"><B>-v</B>
|
|
|
|
|
|
<DD>
|
|
Cause
|
|
<B></B>
|
|
|
|
|
|
to display all input data.
|
|
Without the
|
|
-<B>v</B>
|
|
|
|
option, any number of groups of output lines, which would be
|
|
identical to the immediately preceding group of output lines (except
|
|
for the input offsets), are replaced with a line comprised of a
|
|
single asterisk.
|
|
<DT id="11"><B>-x</B>
|
|
|
|
|
|
<DD>
|
|
<I>Two-byte hexadecimal display</I>
|
|
|
|
|
|
Display the input offset in hexadecimal, followed by eight, space
|
|
separated, four column, zero-filled, two-byte quantities of input
|
|
data, in hexadecimal, per line.
|
|
</DL>
|
|
<P>
|
|
|
|
<P>
|
|
|
|
For each input file,
|
|
<B></B>
|
|
|
|
|
|
sequentially copies the input to standard output, transforming the
|
|
data according to the format strings specified by the
|
|
-<B>e</B>
|
|
|
|
and
|
|
-<B>f</B>
|
|
|
|
options, in the order that they were specified.
|
|
<A NAME="lbAE"> </A>
|
|
<H3>Formats</H3>
|
|
|
|
A format string contains any number of format units, separated by
|
|
whitespace.
|
|
A format unit contains up to three items: an iteration count, a byte
|
|
count, and a format.
|
|
<P>
|
|
|
|
The iteration count is an optional positive integer, which defaults to
|
|
one.
|
|
Each format is applied iteration count times.
|
|
<P>
|
|
|
|
The byte count is an optional positive integer.
|
|
If specified it defines the number of bytes to be interpreted by
|
|
each iteration of the format.
|
|
<P>
|
|
|
|
If an iteration count and/or a byte count is specified, a single slash
|
|
must be placed after the iteration count and/or before the byte count
|
|
to disambiguate them.
|
|
Any whitespace before or after the slash is ignored.
|
|
<P>
|
|
|
|
The format is required and must be surrounded by double quote
|
|
(" ") marks.
|
|
It is interpreted as a fprintf-style format string (see
|
|
<A HREF="/cgi-bin/man/man2html?3+fprintf">fprintf</A>(3)),
|
|
|
|
|
|
with the
|
|
following exceptions:
|
|
<UL><P>
|
|
|
|
<LI>
|
|
|
|
An asterisk (*) may not be used as a field width or precision.
|
|
<LI>
|
|
|
|
A byte count or field precision
|
|
<I>is</I>
|
|
|
|
required for each ``s'' conversion
|
|
character (unlike the
|
|
<A HREF="/cgi-bin/man/man2html?3+fprintf">fprintf</A>(3)
|
|
|
|
|
|
default which prints the entire string if the precision is unspecified).
|
|
<LI>
|
|
|
|
The conversion characters ``%'', ``h'', ``l'', ``n'', ``p'' and ``q'' are
|
|
not supported.
|
|
<LI>
|
|
|
|
The single character escape sequences
|
|
described in the C standard are supported:
|
|
|
|
<BLOCKQUOTE>
|
|
|
|
<DL COMPACT>
|
|
<P>
|
|
|
|
<DT id="12"><B>"NUL<TT> </TT>\0"</B>
|
|
<DD>
|
|
<DT id="13"><B>"<alert character><TT> </TT>\a"</B>
|
|
<DD>
|
|
<DT id="14"><B>"<backspace><TT> </TT>\b"</B>
|
|
<DD>
|
|
<DT id="15"><B>"<form-feed><TT> </TT>\f"</B>
|
|
<DD>
|
|
<DT id="16"><B>"<newline><TT> </TT>\n"</B>
|
|
<DD>
|
|
<DT id="17"><B>"<carriage return>\r"</B>
|
|
<DD>
|
|
<DT id="18"><B>"<tab>\t"</B>
|
|
<DD>
|
|
<DT id="19"><B>"<vertical tab>\v"</B>
|
|
<DD>
|
|
</DL>
|
|
<P>
|
|
|
|
</BLOCKQUOTE>
|
|
|
|
</UL><P>
|
|
|
|
<P>
|
|
|
|
The<BR>
|
|
<B></B>
|
|
|
|
|
|
utility also supports the following additional conversion strings:
|
|
<DL COMPACT>
|
|
<P>
|
|
|
|
<DT id="20"><B>_a </B>[<B>dox</B>
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<DD>
|
|
Display the input offset, cumulative across input files, of the
|
|
next byte to be displayed.
|
|
The appended characters
|
|
<B>d</B>
|
|
|
|
|
|
<B>o</B>
|
|
|
|
|
|
and
|
|
<B>x</B>
|
|
|
|
specify the display base
|
|
as decimal, octal or hexadecimal respectively.
|
|
<DT id="21"><B>_A </B>[<B>dox</B>
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<DD>
|
|
Identical to the
|
|
<B>_a</B>
|
|
|
|
conversion string except that it is only performed
|
|
once, when all of the input data has been processed.
|
|
<DT id="22"><B>_c</B>
|
|
|
|
|
|
<DD>
|
|
Output characters in the default character set.
|
|
Nonprinting characters are displayed in three character, zero-padded
|
|
octal, except for those representable by standard escape notation
|
|
(see above),
|
|
which are displayed as two character strings.
|
|
<DT id="23"><B>_p</B>
|
|
|
|
|
|
<DD>
|
|
Output characters in the default character set.
|
|
Nonprinting characters are displayed as a single
|
|
``<B>.</B>
|
|
|
|
''
|
|
|
|
|
|
<DT id="24"><B>_u</B>
|
|
|
|
|
|
<DD>
|
|
Output US
|
|
<B>ASCII</B>
|
|
|
|
characters, with the exception that control characters are
|
|
displayed using the following, lower-case, names.
|
|
Characters greater than 0xff, hexadecimal, are displayed as hexadecimal
|
|
strings.
|
|
<DL COMPACT>
|
|
<P>
|
|
|
|
<DT id="25"><B>"000 NUL" Ta </B>001 SOH Ta 002 STX Ta 003 ETX Ta 004 EOT Ta 005 ENQ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<DD>
|
|
<DT id="26"><B>"006 ACK" Ta </B>007 BEL Ta 008 BS Ta 009 HT Ta 00A LF Ta 00B VT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<DD>
|
|
<DT id="27"><B>"00C FF" Ta </B>00D CR Ta 00E SO Ta 00F SI Ta 010 DLE Ta 011 DC1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<DD>
|
|
<DT id="28"><B>"012 DC2" Ta </B>013 DC3 Ta 014 DC4 Ta 015 NAK Ta 016 SYN Ta 017 ETB
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<DD>
|
|
<DT id="29"><B>"018 CAN" Ta </B>019 EM Ta 01A SUB Ta 01B ESC Ta 01C FS Ta 01D GS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<DD>
|
|
<DT id="30"><B>"01E RS" Ta </B>01F US Ta 07F DEL Ta Ta Ta
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<DD>
|
|
</DL>
|
|
<P>
|
|
|
|
</DL>
|
|
<P>
|
|
|
|
<P>
|
|
|
|
The default and supported byte counts for the conversion characters
|
|
are as follows:
|
|
<DL COMPACT>
|
|
<P>
|
|
|
|
<DT id="31"><B>%_c , %_p , %_u , %c</B>
|
|
|
|
|
|
<DD>
|
|
One byte counts only.
|
|
<DT id="32"><B>
|
|
</B>
|
|
|
|
<B>%d , %i , %o</B>
|
|
|
|
|
|
<B>%u , %X , %x</B>
|
|
|
|
<DD>
|
|
|
|
<DD>Four byte default, one, two and four byte counts supported.
|
|
<DT id="33"><B>
|
|
</B>
|
|
|
|
<B>%E , %e , %f</B>
|
|
|
|
|
|
<B>%G , %g</B>
|
|
|
|
<DD>
|
|
|
|
<DD>Eight byte default, four and twelve byte counts supported.
|
|
</DL>
|
|
<P>
|
|
|
|
<P>
|
|
|
|
The amount of data interpreted by each format string is the sum of the
|
|
data required by each format unit, which is the iteration count times the
|
|
byte count, or the iteration count times the number of bytes required by
|
|
the format if the byte count is not specified.
|
|
<P>
|
|
|
|
The input is manipulated in ``blocks'', where a block is defined as the
|
|
largest amount of data specified by any format string.
|
|
Format strings interpreting less than an input block's worth of data,
|
|
whose last format unit both interprets some number of bytes and does
|
|
not have a specified iteration count, have the iteration count
|
|
incremented until the entire input block has been processed or there
|
|
is not enough data remaining in the block to satisfy the format string.
|
|
<P>
|
|
|
|
If, either as a result of user specification or
|
|
<B></B>
|
|
|
|
|
|
modifying
|
|
the iteration count as described above, an iteration count is
|
|
greater than one, no trailing whitespace characters are output
|
|
during the last iteration.
|
|
<P>
|
|
|
|
It is an error to specify a byte count as well as multiple conversion
|
|
characters or strings unless all but one of the conversion characters
|
|
or strings is
|
|
<B>_a</B>
|
|
|
|
or
|
|
<B>_A</B>
|
|
|
|
|
|
<P>
|
|
|
|
If, as a result of the specification of the
|
|
-<B>n</B>
|
|
|
|
option or end-of-file being reached, input data only partially
|
|
satisfies a format string, the input block is zero-padded sufficiently
|
|
to display all available data (i.e., any format units overlapping the
|
|
end of data will display some number of the zero bytes).
|
|
<P>
|
|
|
|
Further output by such format strings is replaced by an equivalent
|
|
number of spaces.
|
|
An equivalent number of spaces is defined as the number of spaces
|
|
output by an
|
|
<B>s</B>
|
|
|
|
conversion character with the same field width
|
|
and precision as the original conversion character or conversion
|
|
string but with any
|
|
``<B>+</B>
|
|
|
|
''
|
|
|
|
|
|
`` ''
|
|
|
|
|
|
``<B>#</B>
|
|
|
|
''
|
|
|
|
conversion flag characters
|
|
removed, and referencing a NULL string.
|
|
<P>
|
|
|
|
If no format strings are specified, the default display is equivalent
|
|
to specifying the
|
|
-<B>x</B>
|
|
|
|
option.
|
|
<A NAME="lbAF"> </A>
|
|
<H2>EXIT STATUS</H2>
|
|
|
|
Ex -std hexdump hd
|
|
|
|
<A NAME="lbAG"> </A>
|
|
<H2>EXAMPLES</H2>
|
|
|
|
Display the input in perusal format:
|
|
|
|
<BLOCKQUOTE>
|
|
<PRE>
|
|
"%06.6_ao " 12/1 "%3_u "
|
|
"\t\t" "%_p "
|
|
"\n"
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
|
|
<P>
|
|
|
|
Implement the -x option:
|
|
|
|
<BLOCKQUOTE>
|
|
<PRE>
|
|
"%07.7_Ax\n"
|
|
"%07.7_ax " 8/2 "%04x " "\n"
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
|
|
<P>
|
|
|
|
Some examples for the -e option:
|
|
|
|
<BLOCKQUOTE>
|
|
<PRE>
|
|
# hex bytes
|
|
% echo hello | hexdump -v -e '/1 "%02X "' ; echo
|
|
68 65 6C 6C 6F 0A
|
|
|
|
# same, with ASCII section
|
|
% echo hello | hexdump -e '8/1 "%02X ""\t"" "' -e '8/1 "%c""\n"'
|
|
68 65 6C 6C 6F 0A hello
|
|
|
|
# hex with preceding 'x'
|
|
% echo hello | hexdump -v -e '"x" 1/1 "%02X" " "' ; echo
|
|
x68 x65 x6C x6C x6F x0A
|
|
|
|
# one hex byte per line
|
|
% echo hello | hexdump -v -e '/1 "%02X\n"'
|
|
68
|
|
65
|
|
6C
|
|
6C
|
|
6F
|
|
0A
|
|
|
|
# a table of byte#, hex, decimal, octal, ASCII
|
|
% echo hello | hexdump -v -e '/1 "%_ad# "' -e '/1 "%02X hex"' -e '/1 " = %03i dec"' -e '/1 " = %03o oct"' -e '/1 " = _%c\_\n"'
|
|
0# 68 hex = 104 dec = 150 oct = _h_
|
|
1# 65 hex = 101 dec = 145 oct = _e_
|
|
2# 6C hex = 108 dec = 154 oct = _l_
|
|
3# 6C hex = 108 dec = 154 oct = _l_
|
|
4# 6F hex = 111 dec = 157 oct = _o_
|
|
5# 0A hex = 010 dec = 012 oct = _
|
|
_
|
|
|
|
# byte# & ASCII with control chars
|
|
% echo hello | hexdump -v -e '/1 "%_ad# "' -e '/1 " _%_u\_\n"'
|
|
0# _h_
|
|
1# _e_
|
|
2# _l_
|
|
3# _l_
|
|
4# _o_
|
|
5# _lf_
|
|
</PRE>
|
|
</BLOCKQUOTE>
|
|
|
|
<A NAME="lbAH"> </A>
|
|
<H2>SEE ALSO</H2>
|
|
|
|
<A HREF="/cgi-bin/man/man2html?1+gdb">gdb</A>(1),
|
|
|
|
|
|
<A HREF="/cgi-bin/man/man2html?1+od">od</A>(1)
|
|
|
|
|
|
<P>
|
|
|
|
<HR>
|
|
<A NAME="index"> </A><H2>Index</H2>
|
|
<DL>
|
|
<DT id="34"><A HREF="#lbAB">NAME</A><DD>
|
|
<DT id="35"><A HREF="#lbAC">SYNOPSIS</A><DD>
|
|
<DT id="36"><A HREF="#lbAD">DESCRIPTION</A><DD>
|
|
<DL>
|
|
<DT id="37"><A HREF="#lbAE">Formats</A><DD>
|
|
</DL>
|
|
<DT id="38"><A HREF="#lbAF">EXIT STATUS</A><DD>
|
|
<DT id="39"><A HREF="#lbAG">EXAMPLES</A><DD>
|
|
<DT id="40"><A HREF="#lbAH">SEE ALSO</A><DD>
|
|
</DL>
|
|
<HR>
|
|
This document was created by
|
|
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
|
using the manual pages.<BR>
|
|
Time: 00:05:16 GMT, March 31, 2021
|
|
</BODY>
|
|
</HTML>
|