HEXDUMP(1)

NAMN
hexdump - visa filinnehåll i hexadecimal, decimal, oktal eller ascii

SYNOPSIS

hexdump [options] file ...

hd [options] file ...

BESKRIVNING

Verktyget hexdump är ett filter som visar de angivna filerna, eller standardinmatningen om inga filer anges, i ett användarspecifikt format.

FLAGGOR

Nedan kan argumenten längd och offset följas av de multiplikativa suffixen KiB (=1024), MiB (=1024*1024), och så vidare för GiB, TiB, PiB, EiB, ZiB och YiB ("iB" är valfritt, t.ex, "K" har samma betydelse som "KiB"), eller suffixen KB (=1000), MB (=1000*1000), och så vidare för GB, TB, PB, EB, ZB och YB.

-b, --one-byte-octal
    Oktal visning av en byte. Visar inmatningsoffset i hexadecimal, följt av sexton mellanslagsseparerade, tre kolumner, nollfyllda bytes med inmatningsdata, i oktal, per rad.

-X, --one-byte-hex
    Hexadecimal visning av en byte. Visar inmatningsoffset i hexadecimal, följt av sexton mellanslagsseparerade, tvåkolumnerade, nollfyllda bytes med inmatningsdata, i hexadecimal, per rad.

-c, --one-byte-char
    Teckenvisning med en byte. Visar inmatningsoffset i hexadecimal, följt av sexton mellanslagsseparerade, tre kolumner, mellanslagsfyllda tecken med inmatningsdata per rad.

-C, --canonical
    Canonical hex+ASCII display. Visar inmatningsoffset i hexadecimal, följt av sexton mellanslagsseparerade hexadecimala bytes i två kolumner, följt av samma sexton bytes i %_p-format omslutna av |-tecken. Om programmet anropas som hd innebär den här flaggan.

-d, --two-bytes-decimal
    Två-byte decimalvisning. Visar inmatningsoffset i hexadecimal, följt av åtta mellanslagsseparerade, femkolumners, nollfyllda, två-bytes enheter av inmatningsdata, i osignerad decimal, per rad.

-e, --format format_sträng
    Ange en formatsträng som ska användas för att visa data.

-f, --format-file fil
    Ange en fil som innehåller en eller flera newline-separerade formatsträngar. Tomma rader och rader vars första tecken som inte är tomt är ett hashmärke (#) ignoreras.

-L, --color[=när]
    Acceptera färgenheter för utdata. Det valfria argumentet när kan vara auto, never eller always. Om argumentet när utelämnas är standardvärdet auto. Färgerna kan inaktiveras; för den aktuella inbyggda standardinställningen, se utmatningen --help. Se även underavsnittet Färger och avsnittet FÄRGER nedan.

-n, --length längd
    Tolkar endast längd bytes av indata.

-o, --two-bytes-octal
    Två-byte oktal display. Visar inmatningsoffset i hexadecimal, följt av åtta mellanslagsseparerade, sex kolumner, nollfyllda, två-byte kvantiteter av inmatningsdata, i oktal, per rad.

-s, --skip offset
    Hoppa över offset bytes från början av inmatningen.

-v, --no-squeezing
    Flaggan -v gör att hexdump visar alla indata. Utan flaggan -v ersätts valfritt antal grupper av utdatarader, som skulle vara identiska med den omedelbart föregående gruppen av utdatarader (med undantag för inmatningsoffseten), med en rad som består av en enda asterisk.

-x, --two-bytes-hex
    Två-byte hexadecimal visning. Visar inmatningsoffset i hexadecimal, följt av åtta mellanslagsseparerade, fyra kolumner, nollfyllda, två byte stora mängder inmatningsdata i hexadecimal, per rad.

-h, --help
    Visa hjälptext och avsluta.

-V, --version
    Visa version och avsluta.

För varje indatafil kopierar hexdump indata sekventiellt till standardutdata och omvandlar data enligt de formatsträngar som anges med flaggorna -e och -f, i den ordning de anges.

FORMAT

En formatsträng innehåller ett valfritt antal formatenheter, åtskilda av blanksteg. En formatenhet innehåller upp till tre objekt: ett iterationsantal, ett byteantal och ett format.

Antalet iterationer är ett valfritt positivt heltal, som i standardfallet är ett. Varje format tillämpas ett antal gånger.

Byteantalet är ett valfritt positivt heltal. Om det anges definierar det antalet byte som ska tolkas av varje iteration av formatet.

Om ett iterationsantal och/eller ett byteantal anges, måste ett enkelt snedstreck placeras efter iterationsantalet och/eller före byteantalet för att skilja dem åt. Eventuella blanksteg före eller efter snedstrecket ignoreras.

Formatet är obligatoriskt och måste omges av dubbla citattecken (" "). Det tolkas som en formatsträng i fprintf-stil (se fprintf(3)), med följande undantag:

    1. En asterisk (*) får inte användas som fältbredd eller precision.

    2. En byte- eller fältprecision krävs för varje s-konverteringstecken (till skillnad från fprintf(3)-standarden som skriver ut hela strängen om precisionen inte är specificerad).

    3. Konverteringstecknen h, l, n, p och q stöds inte.

    4. De escape-sekvenser för enstaka tecken som beskrivs i C-standarden stöds:

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

  Konverteringssträngar

Verktyget hexdump har även stöd för följande ytterligare konverteringssträngar.

_a[dox]
    Visar inmatningsoffset, kumulativ över inmatningsfiler, för nästa byte som ska visas. De bifogade tecknen d, o och x anger visningsbasen som decimal, oktal respektive hexadecimal.

_A[dox]
    Nästan identisk med konverteringssträngen _a, men den utförs bara en gång när alla indata har bearbetats.

_c
    Utmatningstecken i standardteckenuppsättningen. Tecken som inte skrivs ut visas i tre tecken, nollutfylld oktal, utom de som kan representeras av standard escape-notation (se ovan), som visas som strängar med två tecken.

_p
    Skriv ut tecken i standardteckensatsen. Tecken som inte skrivs ut visas som ett enda ".".

_u
    Utdata US ASCII-tecken, med undantag för att styrtecken visas med följande namn med små bokstäver. Tecken som är större än 0xff, hexadecimalt, visas som hexadecimala strängar.

            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

  Färger

När hexdump sätts i slutet av en formatspecifikation markeras respektive sträng med den färg som anges. Eventuella villkor utvärderas före färgmarkeringen.

_L[färg_enhet_1,färg_enhet_2,...,färg_enhet_n]

Den fullständiga syntaxen för en färgenhet är följande:

[!]COLOR[:VALUE][@OFFSET_START[-END]]

!
    Negera villkoret. Observera att det bara är meningsfullt att negera en enhet om både ett värde/en sträng och en offset anges. I så fall kommer respektive utdatasträng att markeras om och endast om värdet/strängen inte stämmer överens med värdet/strängen vid offset.

COLOR
    En av de 8 grundläggande skalfärgerna.

VÄRDE
    Ett värde som ska matchas specificerat i hexadecimal eller oktal bas, eller som en sträng. Observera att de vanliga C-escape-sekvenserna inte tolkas av hexdump inuti color_units.

OFFSET
    En offset eller ett offsetintervall vid vilken man ska söka efter en matchning. Observera att lone OFFSET_START använder samma värde som END-offset.

  Räknare

Standard och stödda byteantal för konverteringstecken är följande:

%_c, %_p, %_u, %c
    Endast en byte räknas.

%d, %i, %o, %u, %X, %x
    Fyra byte som standard, stöd för en, två och fyra byte.

%E, %e, %f, %G, %g
    Åtta byte som standard, stöd för fyra byte.

Mängden data som tolkas av varje formatsträng är summan av de data som krävs av varje formatenhet, vilket är iterationsantalet gånger byteantalet, eller iterationsantalet gånger det antal byte som krävs av formatet om byteantalet inte anges.

Indata hanteras i block, där ett block definieras som den största mängd data som anges av en formatsträng. Formatsträngar som tolkar mindre än ett indatablocks datamängd och vars sista formatenhet både tolkar ett visst antal byte och inte har ett angivet iterationsantal, får iterationsantalet ökat tills hela indatablocket har bearbetats eller tills det inte finns tillräckligt med data kvar i blocket för att uppfylla formatsträngen.

Om ett iterationsantal är större än ett, antingen som ett resultat av användarens specifikation eller hexdump som modifierar iterationsantalet enligt beskrivningen ovan, matas inga efterföljande blankstegstecken ut under den sista iterationen.

Det är ett fel att ange ett byteantal samt flera konverteringstecken eller strängar om inte alla utom ett av konverteringstecknen eller strängarna är _a eller _A.

Om indata endast delvis uppfyller en formatsträng på grund av att flaggan -n har specificerats eller att filens slut har nåtts, nollställs indatablocket så att alla tillgängliga data visas (dvs. alla formatenheter som överlappar slutet av data kommer att visa ett visst antal nollbytes).

Ytterligare utdata från sådana formatsträngar ersätts med ett motsvarande antal mellanslag. Ett likvärdigt antal mellanslag definieras som det antal mellanslag som matas ut av ett s-konverteringstecken med samma fältbredd och precision som det ursprungliga konverteringstecknet eller konverteringssträngen, men med alla konverteringsflaggtecken '+', ' ', '#' borttagna, och som refererar till en NULL-sträng.

Om inga formatsträngar anges är standardvisningen mycket lik -x-utdataformatet (flaggan -x gör att mer utrymme används mellan formatenheterna än i standardutdata).

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.

AVSLUTSSTATUS

hexdump avslutar 0 vid framgång och > 0 om ett fel inträffade.

I ÖVERENSSTÄMMELSE MED

Verktyget hexdump förväntas vara kompatibelt med IEEE Std 1003.2 ("POSIX.2").

EXEMPEL

Visa inmatningen i genomläsningsformat:

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

Implementera flaggan -x:

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

Exempel på MBR Boot Signature: Markera adresserna med cyan och bytena vid offsets 510 och 511 med grönt om deras värde är 0xAA55, annars med rött.

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

FÄRGER

Färgläggningen av utdata implementeras av terminal-colors.d(5) funktionalitet. Implicit färgläggning kan inaktiveras med en tom fil

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

för kommandot hexdump eller för alla verktyg med

    /etc/terminal-colors.d/disable

Sedan version 2.41 stöds även miljövariabeln $NO_COLOR som inaktiverar färgläggning av utdata om den inte uttryckligen aktiveras med en kommandoradsflagga.

Den användarspecifika $XDG_CONFIG_HOME/terminal-colors.d eller $HOME/.config/terminal-colors.d åsidosätter den globala inställningen.

Observera att färgläggningen av utdata kan vara aktiverad som standard, och i så fall behöver inte terminal-colors.d-katalogerna finnas ännu.

FELRAPPORTERING

För felrapporter, använd

TILLGÄNGLIGHET

Kommandot hexdump ingår i paketet util-linux som kan hämtas från