HEXDUMP(1)

NÉV
hexdump - ascii, decimális, hexadecimális, oktális dump

ÁTTEKINTÉS
hexdump [-bcdovx] [-e format_string] [-f format_file] [-n length] [-s skip] file ...

LEÍRÁS
A hexdump segédprogram egy szűrő, ami megjeleníti a megadott fájlokat vagy a szabványos bemenetet, ha nem adunk meg fájlokat egy a felhasználó által megadott formátumban.

Az opciók a következők:

-b  Egybájtos oktális megjelenítő. Minden sor elején megjeleníti a bemeneti offsetet hexadecimálisan, majd ezt követik 16 oszlopban a szóközzel elválasztott három jegyű, nullával kiegészített bemeneti adatbájtok oktális formában.

-c  Egybájtos karakteres megjelenítő. Minden sor elején megjeleníti a bemeneti offsetet hexadecimálisan, majd ezt követik 16 oszlopban a szóközzel elválasztott három jegyű, szóközzel kiegészített bemeneti adatbájtok karakteres formában.

-d  Kétbájtos decimális megjelenítő. Minden sor elején megjeleníti a bemeneti offsetet hexadecimálisan, majd ezt követik 8 oszlopban a szóközzel elválasztott öt jegyű, nullával kiegészített két bájtos adat egységek előjel nélküli, decimális formában.

-e format_string
    Egy adatok megjelenítéséhez használt format_string formátum stringet ad meg.

-f format_file
    Megad egy fájlt, ami egy vagy több új sorral elválasztott formátumu stringet tartalmaz. Az üres sorokat és azokat a sorokat, amelyek első nem szóköz karaktere egy kettőskereszt (#) nem veszi figyelembe.

-n length
    Csak length bájt hosszú bemenetet vesz figyelembe.

-o  Két bájtos oktális megjelenítő. Minden sor elején megjeleníti a bemeneti offsetet hexadecimálisan, majd ezt követik 8 oszlopban a szóközzel elválasztott hatjegyű, nullával kiegészített bemeneti adatok kétbájtos oktális formában.

-s offset
    Elhagy offset bájtot a bemenet kezdetéről. Alapértelmezésben az offset decimális számként értelmezett. Bevezető 0x vagy 0X, hatására az offset hexadecimális számként értelmezett, különben bevezető 0 hatására az offset oktális számként értelmezett. A b, k, vagy m karakter hozzáadásával az offset rendre 512, 1024, illetve 1048576, szorzójaként értelmezett.

-v  A -v opció hatására a hexdump minden bemeneti adatot megjelenít. A -v opció nélkül bármely kimeneti sorcsoport, ami azonos lenne a közvetlenül előtte lévő kimeneti sor csoporttal (a bemeneti offsetek kivételével) egy egy csillagból álló sorra cserélődne.

-x  Kétbájtos hexadecimális megjelenítő Minden sor elején megjeleníti a bemeneti offsetet hexadecimálisan, majd ezt követik 8 oszlopban a szóközzel elválasztott négyjegyű, nullával kiegészített bemeneti adatok kétbájtos hexadecimális formában.

A hexdump minden bemeneti fájlnál a bemenetről a szabványos kimenetre másol, átalakítva az adatokat az -e és -f opciókban megadott opcióknak megfelelően, abban a sorrendben, amiben azok meg voltak adva.

  Formátumok
Egy formátumstring több formátum egységet tartalmazhat, amiket szóközzel kell elválasztani. Egy formátum egység legfeljebb három elemet tartalmazhat: egy iteráció számot, egy bájt számot, és egy formátumot.

Az iteráció szám egy opcionális pozitív egész szám (integer), ami alapértelmezésben 1. A formátumok az iterációs számszor ismétlődnek.

A bájt szám egy opcionális pozitív egész szám (integer). Ha specifikálva van, akkor a formátum iterációk által értelmezett bájtok számát határozza meg.

Ha meg van adva egy iterációs szám és/vagy egy bájt szám, akkor egy / jelet kell tennni az iterációs szám és/vagy a bájt szám elé az egyértelműség érdekében. A szóközök a / jel előtt, vagy után figyelmen kívül maradnak.

A formátum megadása kötelező és dupla idézőjelek (" ") közé kell tenni. A formátum fprint stílusú formátum stringetként lesz értelmezve (lásd fprintf(3)), a következő kivételekkel:

•   A csillag (*) alkalmazható mint mező szélesség vagy pontosság.

•   A bájt szám vagy mező pontosság kötelező minden ``s'' konverzió karakterhez (nem úgy mint az fprintf(3) alapértelmezése, ami ez egész stringre mutat, ha a pontosság nincs megadva.)

•   A ``h'', ``l'', ``n'', ``p'' és ``q'' konverziós karakterek nem támogatottak.

•   A következő C szabványbann leírt egyszeres escape szekvenciák támogatottak:
    NUL \0
    <alert character> \a
    <backspace> \b
    <form-feed> \f
    <newline> \n
    <carriage return> \r
    <tab> \t
    <vertical tab> \v

A Hexdump támogatja továbbá a következő kiegészítő konverziós stringeket:

_a[dox]
    Megjeleníti a következő bájt bemeneti offsetét, a fájlok összességére vonatkoztatva. A kapcsolódó karakterek d, o, és x határozzák meg a megjelenítés alapját rendre decimális, oktális vagy hexadecimális formában.

_A[dox]
    Azonosítja a _a konverziós stringet, kivéve ha az csak egyszer fordul elő, amikor az összes bemenő adatot feldolgozta.

_c  Kimeneti karakterek az alapértelmezett karakterkészletben. A nem nyomtatható karakterek három karakteren jelennek meg, nullával kiegészített oktális formában, kivéve azokat amelyek szabványos escape jelzésekkel ábrázolhatók, (lásd fentebb), ezeket két karakter stringként ábrázolja.

_p  Kimeneti karakterek az alapértelmezett karakterkészletben. A nem nyomtatható karaktereket egyszeres “”. -tal jelöli.

_u  Kimeneti US ASCII karakterek, a vezérlőkarakterek kivételével, amiket a következő kisbetűs nevek jelölnek. A hexa 0xff-nél nagyobb karakterek hexa stringként jelennek meg.
    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

A konverziós karakterek alapértelmezett és támogatott bájt számlálói a következők:

%_c, %_p, %_u, %c
    Csak egy bájtos számláló.

    %d, %i, %o, %u, %X, %x Négy bájt alapértelmezett, egy, kettő és négy bájtos számláló támogatott.

    %E, %e, %f, %G, %g Nyolc bájtos számláló alapértelmezett, négy bájtos számláló támogatott.

Minden formátum string esetében az értelmezett adatok mennyisége a formátum adatok által külön-külön igényelt adatok összességével egyenlő, ami a bájt számláló iterációinak száma, vagy formátum által megkövetelt több bájt iterációinak száma amennyiben a bájt számláló nincs megadva.

A bemenetet ``blokkokban'' manipulálja, ahol egy blokk a formátumstringek által meghatározott legnagyobb adat mennyisége.

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.

Ha nincs formátumstring megadva, akkor az alapértelmezett megjelenítés azonos az -x opció megadásával.

A hexdump sikeres végrehajtás esetén 0, hiba esetén >0 értékkel tér vissza.

PÉLDÁK
A bemenetet átolvasás formában jeleníti meg:

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

Az -x opció végrehajtása:

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

LÁSD MÉG
adb(1)

MAGYAR FORDÍTÁS
Horneczki Gábor <arthur@freemail.c3.hu>