HEXDUMP(1)

НАЗИВ
hexdump - приказује садржаје датотека у хексадецималном, децималном, окталном или аскри запису

УВОД

hexdump [options] file ...

hd [options] file ...

ОПИС

Алатка hexdump је филтер који приказује наведене датотеке, или стандардни улаз ако нису наведене датотеке, у формату који наведе корисник.

ОПЦИЈЕ

Испод, за аргументима величина и померај могу да следе суфикси множитеља као што су KiB (=1024), MiB (=1024*1024), и тако редом за GiB, TiB, PiB, EiB, ZiB и YiB („iB“ је опционално, нпр., „K“ има исто значење као „KiB“) или суфикси KB (=1000), MB (=1000*1000) и тако редом за GB, TB, PB, EB, ZB и YB.

-b, --one-byte-octal
    Октални приказ од једног бајта. Приказује улазни померај у хексадецималном облику, након чега следи шеснаест бајтова улазних података размаком раздвојених у три колоне, попуњених нулом, у окталном облику, по реду.

-X, --one-byte-hex
    Хексадецимални приказ од једног бајта. Приказује улазни померај у хексадецималном облику, након чега следи шеснаест бајтова улазних података размаком раздвојених у две колоне, попуњених нулом, у хексадецималном облику, по једном реду.

-c, --one-byte-char
    Знаковни приказ од једног бајта. Приказује улазни померај у хексадецималном облику, након чега следи шеснаест знакова улазних података размаком раздвојених у три колоне, попуњених размаком, по реду.

-C, --canonical
    Канонски хексадецимални+АСКРИ приказ. Приказује улазни помак у хексадецималном облику, након чега следи шеснаест размаком раздвојених, у две колоне, хексадецималних бајтова, након чега следи истих шеснаест бајтова у %_p формату затворених | знаковима. Позивање програма као hd подразумева ову опцију.

-d, --two-bytes-decimal
    Децимални приказ од два бајта. Приказује улазни померај у хексадецималном облику, након чега следи осам размаком раздвојених, у пет колона, попуњених нулом, двобајтних јединица улазних података, децималним бројем без знака, по реду.

-e, --format формат_ниска
    Наводи ниску формата која ће се коритити за приказ података.

-f, --format-file датотека
    Наводи датотеку која садржи једну или више новим редом раздвојене ниске формата. Празни редови и редови чији први не-празни знак јесте знак тарабе (#) се занемарују.

-L, --color[=када]
    Прихвата јединице боје за излаз. Опциони аргумент „when“ може бити auto, never или always. Ако је аргумент „when“ изостављен, подразумева се auto. Боје се могу искључити; за текућу уграђену основност видите излаз --help. Видите испод такође пододељак Боје и одељак БОЈЕ.

-n, --length дужина
    Тумачи само дужина бајта улаза.

-o, --two-bytes-octal
    Двобајтни октални приказ. Приказује улазни померај у хексадецималном облику, након чега следи осам размаком раздвојених, у шест колона, нулом попуњених, двобајтних количина улазних података, окталним записом, по реду.

-s, --skip померај
    Прескаче померај бајта од почетка улаза.

-v, --no-squeezing
    Опција -v доводи до тога да hexdump прикаже све улазне податке. Без опције -v, било који број група излазних редова који би били истоветни непосредно претходној групи излазних редова (осим улазних помераја), замењују се редом који се састоји од једне звездице.

-x, --two-bytes-hex
    Двобајтни хексадецимални приказ. Приказује улазни померај у хексадецималном облику, након чега следи осам размаком раздвојених, у четири колоне, нулом попуњених, двобајтних количина улазних података, у хексадецималном запису, по реду.

-h, --help
    Приказује текст помоћи и излази.

-V, --version
    Исписује издање и излази.

За сваку улазну датотеку, hexdump редом умножава улаз на стандардни излаз, претварајући податке према нискама формата које се наводе опцијама -e и -f, редом онако како су наведене.

ФОРМАТИ

Ниска формата садржи било који број јединица формата, раздвојених празнинама. Јединица формата садржи до три ставке: број понављања, број бајта и формат.

Број понављања је опционални позитиван цео број, који подразумева један. Сваки формат се примењује онолико пута колико има броја понављања.

Број бајта је опционални позитиван цео број. Ако је наведен дефинише број бајтова који ће бити протумачени сваким понављањем формата.

Ако је број понављања и/или број бајта наведен, једна коса црта мора бити постављена после броја понављања и/или пре броја бајта за њихово разликовање. Свака празнина пре или после косе црте се занемарује.

Формат се захтева и мора бити окружен дуплим наводницима (" "). Тумачи се као ниска формата у „fprintf“ стилу (видите fprintf(3)), са следећим изузецима:

    1. Звездица (*) се не може користити као ширина поља или тачност.

    2. Број бајта или тачност поља је захтевана за сваки s знак претварања (за разлику од fprintf(3) основности која исписује читаву ниску ако тачност није наведена).

    3. Знакови претварања h, l, n, p, и q нису подржани.

    4. Низови једног изменског знака описани у C стандарду су подржани:

            \0   NULL
            \a   alert character
            \b   backspace
            \f   form-feed
            \n   newline
            \r   carriage return
            \t   tab
            \v   vertical tab

  Ниске претварања

Алатка hexdump такође подржава следеће додатне ниске претварања.

_a[dox]
    Приказује померај улаза, збирно кроз датотеке улаза, следећег бајта за приказивање. Придодати знакови d, o, и x наводе основу приказа у децималном, окталном или хексадецималном запису.

_A[dox]
    Скоро истоветно са _a ниском претварања осим што се обавља само једном, када су сви улазни подаци обрађени.

_c
    Исписује знакове у основном скупу знакова. Знакови који се не исписују приказани су у окталном облику од три знака, нулом пуњеним, осим оних који се могу представити стандардном излазном нотацијом (видите горе), а који се приказују као ниска од два знака.

_p
    Излазни знакови у основном скупу знакова. Неисписиви знакови се приказују као једна '.'.

_u
    Исписује САД АСКРИ знакове, са изузетком да су контролни знаци приказани коришћењем следећих, малим словима, назива. Знакови већи од 0xff, хексадецимални, су приказани као хексадецималне ниске.

            00 nul     08 bs      10 dle     18 can     7F del
            01 soh     09 ht      11 dc1     19 em
            02 stx     0A lf      12 dc2     1A sub
            03 etx     0B vt      13 dc3     1B esc
            04 eot     0C ff      14 dc4     1C fs
            05 enq     0D cr      15 nak     1D gs
            06 ack     0E so      16 syn     1E rs
            07 bel     0F si      17 etb     1F us

  Боје

Када се стави на крај одредника формата, hexdump истиче одговарајућу ниску са наведеном бојом. Услови, ако су присутни, се процењују пре истицања.

_L[јединица_боје_1,јединица_боје_2,...,јединица_боје_n]

Потпуна синтакса јединице боје је као што следи:

[!]БОЈА[:ВРЕДНОСТ][@ПОМЕРАЈ_ПОЧЕТАК[-КРАЈ]]

!
    Негира услов. Знајте да само има смисла негирати јединицу ако су и вредност/ниска и померај наведени. У том случају одговарајућа излазна ниска биће истакнута ако и само ако вредност/ниска не поклапа ону на померају.

БОЈА
    Једна од 8 основних боја шкољке.

ВРЕДНОСТ
    Вредност за подударање наведена у хексадецималној или окталној основи или као ниска. Знајте да се уобичајене C секвенце промене реда не тумаче hexdump-ом унутар јединица_боје.

ПОМЕРАЈ
    Померај или опсег помераја на коме се врши провера за поклапањем. Знајте да усамљено ПОЧЕТАК_ПОМЕРАЈА користи исту вредност као померај КРАЈ.

  Бројачи

Основни и подржани бријеви бајта за знакове претварања су као што следи:

%_c, %_p, %_u, %c
    Само број једног бајта.

%d, %i, %o, %u, %X, %x
    Основно је четири бајта, један, два и четири бајта број је подржан.

%E, %e, %f, %G, %g
    Основно је осам бајта, број четири бајта је подржан.

Количина података које тумачи свака ниска формата је збир података потребних свакој јединици формата, што је број понављања пута број бајтова или број понављања пута број бајтова потребних формату ако број бајтова није наведен.

Улазом се манипулише у блоковима, где је блок дефинисан као највећа количина података наведена било којом ниском формата. Ниске формата које тумаче мање од вредности улазног блока, чија последња јединица формата и тумачи неки број бајтова и нема наведени број понављања, повећавају број понављања док се цео улазни блок не обради или док не буде било довољно података осталих у блоку да би се задовољила ниска формата.

Ако, било као резултат корисничке спецификације или hexdump мења број понављања као што је горе описано, број понављања је већи од један, никакви размаци на крају се не исписују за време последњег понављања.

Погрешно је навести број бајтова као и више знакова претварња или ниски осим ако сви знакови претварања или ниске осим једног нису _a или _A.

Ако, као резултат одредбе опције -n или достизања краја датотеке, улазни подаци само делимично задовољавају ниску формата, улазни блок је допуњен нулом довољно да прикаже све доступне податке (тј. било које јединице формата које се преклапају са крајем података ће приказати неки број нултих бајтова).

Даљи излаз са таквим нискама формата је замењен еквивалентним бројем размака. Еквивалентни број размака се дефинише као број размака које испише s знак претварања са истом ширином поља и прецизношћу као оригинални знак претварања или ниска претварања, али са било којим „+“, „ “, „#“ знацима опције претварања уклоњеним и упућивањем на NULL ниску.

Ако нису наведене ниске формата, основни приказ је врло сличан -x излазном формату (опција -x доводи до коришћења више простора између јединица формата него у основном излазу).

Note that the default format and the -x, -d, and -o options use multi-byte format units that are displayed in the system’s native byte order (endianness). This means the same input may produce different output on little-endian (e.g., x86, ARM64) and big-endian (e.g., s390x) systems. For byte-order independent output, use single-byte formats such as -b, -c, -C, or -X.

ИЗЛАЗНО СТАЊЕ

hexdump излази са 0 при успеху и > 0 ако дође до грешке.

У СКАЛДУ СА

Помагало hexdump је очекивано да буде сагласно са IEEE Std 1003.2 ("POSIX.2").

ПРИМЕРИ

Приказује улаз у формату прегледа:

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

Примењује опцију -x:

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

Пример потписа подизања ГЗП-а: Истиче адресе плавичастом бојом а бајтове на померајима 510 и 511 зеленом ако је њихова вредност 0xAA55, у супротном црвеном.

       "%07.7_Ax_L[cyan]\n"
       "%07.7_ax_L[cyan]  " 8/2 "   %04x_L[green:0xAA55@510-511,!red:0xAA55@510-511] " "\n"

БОЈЕ

Обојавање излаза је примењено „terminal-colors.d(5)“ функционалношћу. Изричито обојавање се може искључити празном датотеком

    /etc/terminal-colors.d/hexdump.disable

за наредбу hexdump или за све алате са

    /etc/terminal-colors.d/disable

Од издања 2.41, променљива окружења $БЕЗ_БОЈЕ је такође подржана да искључи бојење излаза осим ако није изричито укључена опцијом линије наредби.

Корисничке специфичне $XDG_CONFIG_HOME/terminal-colors.d или $HOME/.config/terminal-colors.d преписују општа подешавања.

Знајте да се обојавање излаза може укључити по основи, и у том случају terminal-colors.d директоријуми не треба још да постоје.

ПРИЈАВЉИВАЊЕ ГРЕШАКА

За пријављивање грешака, користите „https://github.com/util-linux/util-linux/issues[issue tracker]“.

ДОСТУПНОСТ

Наредба hexdump је део „util-linux“ пакета који се може преузети са