Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ hd(C) — OpenDesktop 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought


 hd(C)                         06 January 1993                          hd(C)


 Name

    hd - display files in hexadecimal format

 Syntax

    hd [ -format ] [ -s offset ] [ -n count ] [ file ] ...

 Description

    The hd command displays the contents of files in hexadecimal, octal,
    decimal, and character formats.  Control over the specification of ranges
    of characters is also available.  The default behavior is with the fol-
    lowing flags set: -abx -A. This says that addresses (file offsets) and
    bytes are printed in hexadecimal and that characters are also printed.
    If no file argument is given, the standard input is read.

    Options include:

    -s offset Specify the beginning offset in the file where printing is to
              begin.  If no file argument is given, or if a seek fails
              because the input is a pipe, offset bytes are read from the
              input and discarded. Otherwise, a seek error will terminate
              processing of the current file.

              The offset may be given in decimal, hexadecimal (preceded by
              0x), or octal (preceded by a 0). It is optionally followed by
              one of the following multipliers: w, l, b, or k; for words (2
              bytes), long words (4 bytes), half kilobytes (512 bytes), or
              kilobytes (1024 bytes), respectively.  Note that this is the
              one case where ``b'' does not stand for bytes. Since specifying
              a hexadecimal offset in blocks would result in an ambiguous
              trailing ``b'', any offset and multiplier may be separated by
              an asterisk (*). (The asterisk may need to be escaped to pro-
              tect it from the shell.)

    -n count  Specify the number of bytes to process. The count is in the
              same format as offset, above.

 Format flags

    Format flags may specify addresses, characters, bytes, words (2 bytes) or
    longs (4 bytes) to be printed in hex, decimal, or octal. Two special for-
    mats may also be indicated:  text or ASCII.  Format and base specifiers
    may be freely combined and repeated as desired in order to specify dif-
    ferent bases (hexadecimal, decimal or octal) for different output formats
    (addresses, characters, etc.). All format flags appearing in a single
    argument are applied as appropriate to all other flags in that argument.

    acbwlA    Output format specifiers for addresses, characters, bytes,
              words, longs and ASCII respectively.  Only one base specifier
              will be used for addresses. The address will appear on the
              first line of output that begins each new offset in the input.

              The character format prints all printable characters without
              change, special C escapes as defined in the language, and the
              remaining values in the specified base.

              The ASCII format prints all printable characters without
              change, and all others as a dot (.). This format appears to the
              right of the first of other specified output formats. A base
              specifier has no meaning with the ASCII format. If no other
              output format (other than addresses) is given, bx is assumed.
              If no base specifier is given, all of xdo are used.

    xdo       Output base specifiers for hexadecimal, decimal and octal.

    t         Print a text file, each line preceded by the address in the
              file. Normally, lines should be terminated by a \n character;
              but long lines will be broken up.  Control characters in the
              range 0x00 to 0x1f are printed as ^@ to ^.  Bytes with the
              high bit set are preceded by a tilde (~) and printed as if the
              high bit were not set. The special characters ^, ~ and \ are
              preceded by a backslash (\) to escape their special meaning. As
              special cases, these two values are represented numerically as
              `\177' and `\377'.  This flag will override all output format
              specifiers except addresses.

    If no output format is given, but a base specifier is present, the output
    format is set to -acbwl. If no base specifier is given, but an output
    format is present, the base specifier is set to -xdo. If neither is
    present, the format flag is set to -abx-A.


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026