Annotation of 43BSDReno/usr.bin/hexdump/hexdump.1, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1989, 1990 The Regents of the University of California.
        !             2: .\" All rights reserved.
        !             3: .\"
        !             4: .\" Redistribution and use in source and binary forms are permitted provided
        !             5: .\" that: (1) source distributions retain this entire copyright notice and
        !             6: .\" comment, and (2) distributions including binaries display the following
        !             7: .\" acknowledgement:  ``This product includes software developed by the
        !             8: .\" University of California, Berkeley and its contributors'' in the
        !             9: .\" documentation or other materials provided with the distribution and in
        !            10: .\" all advertising materials mentioning features or use of this software.
        !            11: .\" Neither the name of the University nor the names of its contributors may
        !            12: .\" be used to endorse or promote products derived from this software without
        !            13: .\" specific prior written permission.
        !            14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
        !            15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
        !            16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            17: .\"
        !            18: .\"     @(#)hexdump.1  5.10 (Berkeley) 7/24/90
        !            19: .\"
        !            20: .Dd July 24, 1990
        !            21: .Dt HEXDUMP 1
        !            22: .Os BSD 4.4
        !            23: .Sh NAME
        !            24: .Nm hexdump
        !            25: .Nd ascii, decimal, hexadecimal, octal dump
        !            26: .Sh SYNOPSIS
        !            27: .Nm hexdump
        !            28: .Op Fl bcdovx
        !            29: .Op Fl e Ar format_string
        !            30: .Op Fl f Ar format_file
        !            31: .Op Fl n Ar length
        !            32: .Op Fl s Ar skip
        !            33: .Ar file  ...
        !            34: .Sh DESCRIPTION
        !            35: The hexdump utility is a filter which displays the specified files, or
        !            36: the standard input, if no files are specified, in a user specified
        !            37: format.
        !            38: .Pp
        !            39: The options are as follows:
        !            40: .Tw Fl
        !            41: .Tp Fl b
        !            42: .Em One-byte octal display .
        !            43: Display the input offset in hexadecimal, followed by sixteen
        !            44: space-separated, three column, zero-filled, bytes of input data,
        !            45: in octal, per line.
        !            46: .Tp Fl c
        !            47: .Em One-byte character display .
        !            48: Display the input offset in hexadecimal, followed by sixteen
        !            49: space-separated, three column, space-filled, characters of input
        !            50: data per line.
        !            51: .Tp Fl d
        !            52: .Em Two-byte decimal display.
        !            53: Display the input offset in hexadecimal, followed by eight
        !            54: space-separated, five column, zero-filled, two-byte units
        !            55: of input data, in unsigned decimal, per line.
        !            56: .Tc Fl e
        !            57: .Ws
        !            58: .Ar format_string
        !            59: .Cx
        !            60: Specify a format string to be used for displaying data.
        !            61: .Tc Fl f
        !            62: .Ws
        !            63: .Ar format_file
        !            64: .Cx
        !            65: Specify a file that contains one or more newline separated format strings.
        !            66: Empty lines and lines whose first non-blank character is a hash mark
        !            67: .Pf \&( Cm \&# )
        !            68: are ignored.
        !            69: .Tc Fl n
        !            70: .Ws
        !            71: .Ar length
        !            72: .Cx
        !            73: Interpret only
        !            74: .Ar length
        !            75: bytes of input.
        !            76: .Tp Fl o
        !            77: .Em Two-byte octal display.
        !            78: Display the input offset in hexadecimal, followed by eight
        !            79: space-separated, six column, zero-filled, two byte quantities of
        !            80: input data, in octal, per line.
        !            81: .Tc Fl s
        !            82: .Ws
        !            83: .Ar offset
        !            84: .Cx
        !            85: Skip
        !            86: .Ar offset
        !            87: bytes from the beginning of the input.
        !            88: By default,
        !            89: .Ar offset
        !            90: is interpreted as a decimal number.
        !            91: With a leading
        !            92: .Cm 0x
        !            93: or
        !            94: .Cm 0X ,
        !            95: .Ar offset
        !            96: is interpreted as a hexadecimal number,
        !            97: otherwise, with a leading
        !            98: .Cm 0 ,
        !            99: .Ar offset
        !           100: is interpreted as an octal number.
        !           101: Appending the character
        !           102: .Cm b ,
        !           103: .Cm k ,
        !           104: or
        !           105: .Cm m
        !           106: to
        !           107: .Ar offset
        !           108: causes it to be interpreted as a multiple of
        !           109: .Li 512 ,
        !           110: .Li 1024 ,
        !           111: or
        !           112: .Li 1048576 ,
        !           113: respectively.
        !           114: .Tp Fl v
        !           115: The
        !           116: .Fl v
        !           117: option causes hexdump to display all input data.
        !           118: Without the
        !           119: .Fl v
        !           120: option, any number of groups of output lines, which would be
        !           121: identical to the immediately preceding group of output lines (except
        !           122: for the input offsets), are replaced with a line comprised of a
        !           123: single asterisk.
        !           124: .Tp Fl x
        !           125: .Em Two-byte hexadecimal display.
        !           126: Display the input offset in hexadecimal, followed by eight, space
        !           127: separated, four column, zero-filled, two-byte quantities of input
        !           128: data, in hexadecimal, per line.
        !           129: .Tp
        !           130: .Pp
        !           131: For each input file,
        !           132: .Nm hexdump
        !           133: sequentially copies the input to standard output, transforming the
        !           134: data according to the format strings specified by the
        !           135: .Fl e
        !           136: and
        !           137: .Fl f
        !           138: options, in the order that they were specified.
        !           139: .Ss Formats
        !           140: A format string contains any number of format units, separated by
        !           141: whitespace.
        !           142: A format unit contains up to three items: an iteration count, a byte
        !           143: count, and a format.
        !           144: .Pp
        !           145: The iteration count is an optional positive integer, which defaults to
        !           146: one.
        !           147: Each format is applied iteration count times.
        !           148: .Pp
        !           149: The byte count is an optional positive integer.
        !           150: If specified it defines the number of bytes to be interpreted by
        !           151: each iteration of the format.
        !           152: .Pp
        !           153: If an iteration count and/or a byte count is specified, a single slash
        !           154: must be placed after the iteration count and/or before the byte count
        !           155: to disambiguate them.
        !           156: Any whitespace before or after the slash is ignored.
        !           157: .Pp
        !           158: The format is required and must be surrounded by double quote
        !           159: (" ") marks.
        !           160: It is interpreted as a fprintf-style format string (see
        !           161: .Xr fprintf 3 ) ,
        !           162: with the
        !           163: following exceptions:
        !           164: .Df I
        !           165: .Bu
        !           166: An asterisk (*) may not be used as a field width or precision.
        !           167: .Bu
        !           168: A byte count or field precision
        !           169: .Em is
        !           170: required for each ``s'' conversion
        !           171: character (unlike the
        !           172: .Xr fprintf 3
        !           173: default which prints the entire string if the precision is unspecified).
        !           174: .Bu
        !           175: The conversion characters ``h'', ``n'', and ``p'' are not
        !           176: supported.
        !           177: .Bu
        !           178: The single character escape sequences
        !           179: described in the C standard are supported:
        !           180: .Ds I
        !           181: .Cw <alert_character>
        !           182: .Cl NUL        \e0
        !           183: .Cl <alert character>  \ea
        !           184: .Cl <backspace>        \eb
        !           185: .Cl <form-feed>        \ef
        !           186: .Cl <newline>  \en
        !           187: .Cl <carriage return>  \er
        !           188: .Cl <tab>      \et
        !           189: .Cl <vertical tab>     \ev
        !           190: .Cw
        !           191: .De
        !           192: .Tp
        !           193: .De
        !           194: .Pp
        !           195: Hexdump also supports the the following additional conversion strings:
        !           196: .Tw Fl
        !           197: .Tc Cm \&_a
        !           198: .Op Cm dox
        !           199: .Cx
        !           200: Display the input offset, cumulative across input files, of the
        !           201: next byte to be displayed.
        !           202: The appended characters
        !           203: .Cm d ,
        !           204: .Cm o ,
        !           205: and
        !           206: .Cm x
        !           207: specify the display base
        !           208: as decimal, octal or hexadecimal respectively.
        !           209: .Tc Cm \&_A
        !           210: .Op Cm dox
        !           211: .Cx
        !           212: Identical to the
        !           213: .Cm \&_a
        !           214: conversion string except that it is only performed
        !           215: once, when all of the input data has been processed.
        !           216: .Tp Cm \&_c
        !           217: Output characters in the default character set.
        !           218: Nonprinting characters are displayed in three character, zero-padded
        !           219: octal, except for those representable by standard escape notation
        !           220: (see above),
        !           221: which are displayed as two character strings.
        !           222: .Tp Cm _p
        !           223: Output characters in the default character set.
        !           224: Nonprinting characters are displayed as a single
        !           225: .Dq Cm \&. .
        !           226: .Tp Cm _u
        !           227: Output US ASCII characters, with the exception that control characters are
        !           228: displayed using the following, lower-case, names.
        !           229: Characters greater than 0xff, hexadecimal, are displayed as hexadecimal
        !           230: strings.
        !           231: .Cw \&000_nul \&001_soh \&002_stx \&003_etx \&004_eot
        !           232: .Cl \&000\ nul\t001\ soh\t002\ stx\t003\ etx\t004\ eot\t005\ enq
        !           233: .Cl \&006\ ack\t007\ bel\t008\ bs\t009\ ht\t00A\ lf\t00B\ vt
        !           234: .Cl \&00C\ ff\t00D\ cr\t00E\ so\t00F\ si\t010\ dle\t011\ dc1
        !           235: .Cl \&012\ dc2\t013\ dc3\t014\ dc4\t015\ nak\t016\ syn\t017\ etb
        !           236: .Cl \&018\ can\t019\ em\t01A\ sub\t01B\ esc\t01C\ fs\t01D\ gs
        !           237: .Cl \&01E\ rs\t01F\ us\t0FF\ del
        !           238: .Cw
        !           239: .Tp
        !           240: .Pp
        !           241: The default and supported byte counts for the conversion characters
        !           242: are as follows:
        !           243: .Df I
        !           244: .Tw  %c,_%c,_%c,_%c,_%c,_%c
        !           245: .Tp Li \&%_c , %_p , %_u , \&%c
        !           246: One byte counts only.
        !           247: .Tc Li \&%d , \&%i , \&%o ,
        !           248: .Li \&\ %u , \&%X , \&%x
        !           249: .Cx
        !           250: Four byte default, one and two byte counts supported.
        !           251: .Tc Li \&%E , \&%e , \&%f ,
        !           252: .Li \&\ %G , \&%g
        !           253: .Cx
        !           254: Eight byte default, four byte counts supported.
        !           255: .Tp
        !           256: .De
        !           257: .Pp
        !           258: The amount of data interpreted by each format string is the sum of the
        !           259: data required by each format unit, which is the iteration count times the
        !           260: byte count, or the iteration count times the number of bytes required by
        !           261: the format if the byte count is not specified.
        !           262: .Pp
        !           263: The input is manipulated in ``blocks'', where a block is defined as the
        !           264: largest amount of data specified by any format string.
        !           265: Format strings interpreting less than an input block's worth of data,
        !           266: whose last format unit both interprets some number of bytes and does
        !           267: not have a specified iteration count, have the the interation count
        !           268: incremented until the entire input block has been processed or there
        !           269: is not enough data remaining in the block to satisfy the format string.
        !           270: .Pp
        !           271: If, either as a result of user specification or hexdump modifying
        !           272: the iteration count as described above, an iteration count is
        !           273: greater than one, no trailing whitespace characters are output
        !           274: during the last iteration.
        !           275: .Pp
        !           276: It is an error to specify a byte count as well as multiple conversion
        !           277: characters or strings unless all but one of the conversion characters
        !           278: or strings is
        !           279: .Cm \&_a
        !           280: or
        !           281: .Cm \&_A .
        !           282: .Pp
        !           283: If, as a result of the specification of the
        !           284: .Fl n
        !           285: option or end-of-file being reached, input data only partially
        !           286: satisfies a format string, the input block is zero-padded sufficiently
        !           287: to display all available data (i.e. any format units overlapping the
        !           288: end of data will display some number of the zero bytes).
        !           289: .Pp
        !           290: Further output by such format strings is replaced by an equivalent
        !           291: number of spaces.
        !           292: An equivalent number of spaces is defined as the number of spaces
        !           293: output by an
        !           294: .Cm s
        !           295: conversion character with the same field width
        !           296: and precision as the original conversion character or conversion
        !           297: string but with any
        !           298: .Dq Li \&+ ,
        !           299: .Dq \&\ \& ,
        !           300: .Dq Li \&#
        !           301: conversion flag characters
        !           302: removed, and referencing a NULL string.
        !           303: .Pp
        !           304: If no format strings are specified, the default display is equivalent
        !           305: to specifying the
        !           306: .Fl x
        !           307: option.
        !           308: .Pp
        !           309: .Nm hexdump
        !           310: exits 0 on success and >0 if an error occurred.
        !           311: .Sh EXAMPLES
        !           312: Display the input in perusal format:
        !           313: .Pp
        !           314: .Ds I
        !           315: "%06.6_ao "  12/1 "%3_u "
        !           316: "\et\et" "%_p "
        !           317: "\en"
        !           318: .De
        !           319: .Pp
        !           320: Implement the \-x option:
        !           321: .Pp
        !           322: .Ds I
        !           323: "%07.7_Ax\en"
        !           324: "%07.7_ax  " 8/2 "%04x " "\en"
        !           325: .De
        !           326: .Sh SEE ALSO
        !           327: .Xr adb 1
        !           328: .Sh STANDARDS
        !           329: The
        !           330: .Nm hexdump
        !           331: utility is expected to be POSIX 1003.2 compatible.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.