HEXYL(1)

NAME

hexyl - a command-line hex viewer

SYNOPSIS

hexyl [OPTIONS] [FILE]

DESCRIPTION

hexyl is a simple hex viewer for the terminal. It uses a colored output to distinguish different categories of bytes (NULL bytes, printable ASCII characters, ASCII whitespace characters, other ASCII characters and non-ASCII).

POSITIONAL ARGUMENTS

FILE
    The file to display. If no FILE argument is given, read from STDIN.

OPTIONS

-n, --length N
    Only read N bytes from the input. The N argument can also include a unit with a decimal prefix (kB, MB, ..) or binary prefix (kiB, MiB, ..), or can be specified using a hex number.

    Examples:

    Read the first 64 bytes:
        $ hexyl --length=64

    Read the first 4 kibibytes:
        $ hexyl --length=4KiB

    Read the first 255 bytes (specified using a hex number):
        $ hexyl --length=0xff

-c, --bytes N
    An alias for -n/--length.

-l N
    Yet another alias for -n/--length.

-s, --skip N
    Skip the first N bytes of the input. The N argument can also include a unit (see --length for details). A negative value is valid and will seek from the end of the file.

--block-size SIZE
    Sets the size of the block unit to SIZE (default is 512).

    Examples:

    Sets the block size to 1024 bytes:
        $ hexyl --block-size=1024 --length=5block

    Sets the block size to 4 kilobytes:
        $ hexyl --block-size=4kB --length=2block

-v, --no-squeezing
    Displays all input data. Otherwise any number of groups of output lines which would be identical to the preceding group of lines, are replaced with a line comprised of a single asterisk.

--color WHEN
    When to use colors. The auto-mode only displays colors if the output goes to an interactive terminal.

    Possible values:

    •   always (default)

    •   auto

    •   never

--border STYLE
    Whether to draw a border with Unicode characters, ASCII characters, or none at all.

    Possible values:

    •   unicode (default)

    •   ascii

    •   none

-o, --display-offset N
    Add N bytes to the displayed file position. The N argument can also include a unit (see --length for details). A negative value is valid and calculates an offset relative to the end of the file.

-h, --help
    Prints help information.

-V, --version
    Prints version information.

ENVIRONMENT VARIABLES

hexyl colors can be configured via environment variables. The variables used are as follows:

•   HEXYL_COLOR_ASCII_PRINTABLE: Any non-whitespace printable ASCII character

•   HEXYL_COLOR_ASCII_WHITESPACE: Whitespace such as space or newline (only visible in middle panel with byte values)

•   HEXYL_COLOR_ASCII_OTHER: Any other ASCII character (< 0x80) besides null

•   HEXYL_COLOR_NULL: The null byte (0x00)

•   HEXYL_COLOR_NONASCII: Any non-ASCII byte (> 0x7F)

•   HEXYL_COLOR_OFFSET: The lefthand file offset

The colors can be any of the 8 standard terminal colors: black, blue, cyan, green, magenta, red, yellow and white. The “bright” variants are also supported (e.g., bright blue). Additionally, you can use the RGB hex format, #abcdef. For example, HEXYL_COLOR_ASCII_PRINTABLE=blue HEXYL_COLOR_ASCII_WHITESPACE=“bright green” HEXYL_COLOR_ASCII_OTHER=“#ff7f99”.

NOTES

Source repository:
    <https://github.com/sharkdp/hexyl>

EXAMPLES

Print a given file:
    $ hexyl small.png

Print and view a given file in the terminal pager:
    $ hexyl big.png | less -r

Print the first 256 bytes of a given special file:
    $ hexyl -n 256 /dev/urandom

AUTHORS

hexyl was written by David Peter <mail@david-peter.de>.

REPORTING BUGS

Bugs can be reported on GitHub at:
    <https://github.com/sharkdp/hexyl/issues>

COPYRIGHT

hexyl is dual-licensed under:

•   Apache License 2.0 (<https://www.apache.org/licenses/LICENSE-2.0>)

•   MIT License (<https://opensource.org/licenses/MIT>)

SEE ALSO

hexdump(1), xxd(1)