HEXDUMP(1)

NAME
hexdump - ascii, decimal, hexadecimal, octal dump

사용법
hexdump [-bcdovx] [-e format_string] [-f format_file] [-n length] [-s skip] file ...

설명
풀그림은 지정한 파일, 또는 표준 입력으로 부터 입력된 것을 사용자가 지정한 형식으로 보여주는 연장틀이다.

사용할 수 있는 옵션은 다음과 같다:

-b  8진수 1 바이트씩 보기. 입력된 파일의 내용을 세자리 씩 한줄에 16개로 나누워 8진수로 보여준다.

-c  캐릭터 1 바이트씩 보기. 입력된 파일의 내용을 세자리 씩 한줄에 16개로 나누워 문자형식으로 보여준다. 문자형식이 아닌 문자는 세자리 8진수로 보여준다.

-d  10진수 2 바이트씩 보기. 입력된 파일의 내용을 다섯자리 씩 한줄에 8개로 나누워 10진수로 보여준다.

-e format_string
    보여줄 형식을 format_string 형식으로 지정한다.

-f format_file
    보여줄 형식이 하나 또는 그 이상의 줄로 나뉘어진 파일을 지정한다. 비여있는 줄, # 글자로 시작하는 줄은 무시된다.

-n length
    입력된 파일의 length 바이트만 보여준다.

-o  8진수 2 바이트씩 보기. 입력된 파일의 내용을 여섯자리 씩 한줄에 8개로 나누워 8진수로 보여준다.

-s offset
    입력 파일의 처음부터 offset 파이트를 통과하고 보여준다. offset 사용할 숫자는 초기값으로 10진수 이며, 0x 나 0X 로 시작하는 숫자는 16진수로 처리한다. 0 으로 시작하는 숫자는 8진수. 또한 숫자 끝에 b, k, m 문자가 올 수 있는데, 이것은 각각 512, 1024, 1048576 바이트를 의미한다.

-v  이 옵션은 모든 입력 자료를 보여준다. Without the -v 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.

-x  16진수 2바이트씩 보기. 입력된 파일의 내용을 4자리씩 한줄에 8개로 나누워 보여준다.

각 입력 파일을 위해, hexdump 명령은 각각 표준 출력으로 연속적으로 복사한다. 그리고, -e 또는 -f 옵션이 사용되고 있으면, 지정한 출력 양식에 따라 입력되는 자료를 변환한다.

  Formats
포멧 문자열은 공백문자로 구분되는 여러개의 포멧 유닛을 가진다. 하나의 포멧 유닛은 세 부분으로 구성된다. 반복횟수, 바이트 횟수, 포멧 형식이다.

반복횟수는 선택적인 양수 정수이며, 초기값은 1이다. 각각의 포멧은 이 횟수만큼 적용된다.

바이트 횟수는 선택적인 양수 정수이며, 이 값이 정해지면, 이 바이트 만큼 변화하면, 반복횟수를 읽어 또 이 바이트만큼 변환한다.

반복횟수와 바이트 횟수가 둘다 사용되면, 슬래쉬(/)로 구분한다. 슬래쉬 앞뒤의 어떠한 공백문자도 모두 무시된다.

포멧은 따움표(" ")로 묶겨져야 한다. 포멧은 fprintf 함수( fprintf(3)) 에서 사용하는 것과 비슷하다.

•   * 기호는 필드 넓이나, 정밀도로 사용되지 않을 수도 있다.

•   바이트 카운트나 필드 정밀도 지정에서는 ``s'' 변환문자가 필요하다. (이것은 fprintf(3) 함수의 사용법과 다르다.)

•   ``h'', ``l'', ``n'', ``p'', ``q'' 변환 문자는 지원되지 않는다.

•   다음은 C 표준에서 지원하는 \ 문자들이다.
    NUL \0
    <alert character> \a
    <backspace> \b
    <form-feed> \f
    <newline> \n
    <carriage return> \r
    <tab> \t
    <vertical tab> \v

Hexdump에서는 부가적으로 다음 변환 문자들도 지원한다.

_a[dox]
    Display the input offset, cumulative across input files, of the next byte to be displayed. The appended characters d, o, and x specify the display base as decimal, octal or hexadecimal respectively.

_A[dox]
    Identical to the _a conversion string except that it is only performed once, when all of the input data has been processed.

_c  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.

_p  Output characters in the default character set. Nonprinting characters are displayed as a single “”..

_u  Output US ASCII 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.
    000 nul | 001 soh | 002 stx | 003 etx | 004 eot | 005 enq
    006 ack | 007 bel | 008 bs | 009 ht | 00A lf | 00B vt
    00C ff | 00D cr | 00E so | 00F si | 010 dle | 011 dc1
    012 dc2 | 013 dc3 | 014 dc4 | 015 nak | 016 syn | 017 etb
    018 can | 019 em | 01A sub | 01B esc | 01C fs | 01D gs
    01E rs | 01F us | 0FF del

The default and supported byte counts for the conversion characters are as follows:

%_c, %_p, %_u, %c
    One byte counts only.

    %d, %i, %o, %u, %X, %x Four byte default, one, two and four byte counts supported.

    %E, %e, %f, %G, %g Eight byte default, four byte counts supported.

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.

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.

If, either as a result of user specification or hexdump modifying the iteration count as described above, an iteration count is greater than one, no trailing whitespace characters are output during the last iteration.

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 _a or _A.

If, as a result of the specification of the -n 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).

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 s conversion character with the same field width and precision as the original conversion character or conversion string but with any “+”, “ ”, “#” conversion flag characters removed, and referencing a NULL string.

If no format strings are specified, the default display is equivalent to specifying the -x option.

hexdump exits 0 on success and >0 if an error occurred.

EXAMPLES
Display the input in perusal format:

    "%06.6_ao "  12/1 "%3_u "
    "\t\t" "%_p "
    "\n"

Implement the -x option:

    "%07.7_Ax\n"
    "%07.7_ax  " 8/2 "%04x " "\n"

관련 항목
adb(1)