table of contents
HEXD(1) | General Commands Manual | HEXD(1) |
NAME¶
hexd
—
human-friendly hexdump tool
SYNOPSIS¶
hexd |
[-p ] [-P ]
[-v ] [-g
groupsize] [-r
range] [-w
width] [file ...] |
DESCRIPTION¶
hexd
prints a human-readable hexdump of
the specified files, or standard input if omitted. Its main distinguishing
feature is the use of colours to visually indicate which range of values an
octet belongs to, aiding in spotting patterns in binary data.
The ranges an octet is classified into are
zero
(0x00
),
low
(0x01..0x1F
),
printable
(0x20..0x7E
),
high
(0x7F..0xFE
) and
all
(0xFF
).
By default, colours are used if output is a terminal, and omitted if not.
Repeated output lines are collapsed into only one copy followed by
a line with only '*', unless -v
is used.
OPTIONS¶
If no file operands are specified, standard input is read instead. Available options are listed below.
-h
- Print usage information.
-p
- Plain: disable colours/formatting.
-P
- Pretty: enable colours/formatting.
-v
- Verbose: show every hexdump line (don't collapse repetition with '*').
-g
groupsize- Number of octets per group, set to
8
by default. -r
range- Range of octets to print from each file. Specified as either
start-end
or
start+count,
where
start
and
end/count
are positive integers specified in either decimal, hexadecimal or octal
(C-style notation).
When the former syntax is used, both ends of the range are optional and default to the start or end of the file when omitted.
-w
width- Number of octets per line, separated into groups (see
-g
). Set to16
by default.
ENVIRONMENT¶
HEXD_COLORS
can be used to override the
formatting used by hexd
to classify octets. If set,
it should consist of space-separated pairs of the form
key=value,
where key is
one of 'zero', 'low', 'printable', 'high' or 'all', and
value is
an SGR formatting string. SGR formatting is interpreted by your terminal
emulator; consult its documentation or ECMA-48 for more details.
For example, the default formatting used when
HEXD_COLORS
is not defined corresponds to the
value
EXAMPLES¶
Here are some examples of useful uses of hexd's features.
- hexd -r0x1000+0x200 foo.bin
- Display the 512-byte range in 'foo.bin' starting at offset 0x1000. Useful when files contain other embedded files/formats at a certain location (e.g. archive files).
- hexd -r-0x10 *.bin
- Show the first 16 bytes of each of the *.bin files, with a heading above each file (if more than one). This is useful for example to compare headers of several samples of an unknown format.
- curl -s http://example.com | hexd -P | less -R
hexd
works as a filter, too. For paging long hexdumps, less(1)'s-R
flag is useful.
SEE ALSO¶
AUTHORS¶
Written by FireFly
February 18, 2022 | Linux 6.4.0-150600.23.25-default |