XXD(1) General Commands Manual XXD(1) NAMN xxd - gor en hexdump eller gor det omvanda. SYNOPSIS xxd -h[elp] xxd [flaggor] [infil [utfil]] xxd -r[evert] [flaggor] [infil [utfil]] BESKRIVNING xxd skapar en hexdump av en given fil eller standardinmatning. Det kan ocksa konvertera en hexdump tillbaka till sin ursprungliga binara form. Liksom uuencode(1) och uudecode(1) tillater det overforing av binar data i en "mail-safe" ASCII-representation, men har fordelen att avkoda till standardutmatning. Dessutom kan det anvandas for att utfora binar filpatchning. FLAGGOR Om ingen infile anges, lases standardinmatningen. Om infile anges som ett `-'-tecken, hamtas inmatningen fran standardinmatningen. Om ingen outfile anges (eller om ett `-'-tecken finns pa dess plats), skickas resultaten till standardutmatningen. Observera att en "lat" parser anvands som inte kontrollerar mer an den forsta optionsbokstaven, savida inte optionen foljs av en parameter. Mellanslag mellan en enskild optionsbokstav och dess parameter ar valfria. Parametrar till optioner kan anges i decimal-, hexadecimal- eller oktalnotation. Saledes ar -c8, -c 8, -c 010 och -cols 8 alla likvardiga. -a | -autoskip Vaxla autoskip: En enda '*' ersatter NUL-rader. Standardinstallning ar av. -b | -bits Vaxla till bitdump (binara siffror) istallet for hexdump. Den har flaggan skriver oktetter som atta siffror "1" och "0" istallet for en vanlig hexadecimal dump. Varje rad foregas av ett radnummer i hexadecimal och foljs av en ASCII- (eller EBCDIC-) representation. Kommandoradsvaxeln -p fungerar inte i det har laget. Kan kombineras med -i. -c cols | -cols kolumner Format oktetter per rad. Standard 16 (-i: 12, -ps: 30, -b: 6). Max 256. Inget maximum for -ps. Med -ps resulterar 0 i en lang rad med utdata. -C | -capitalize Anvand versaler for variabelnamn i C-inkluderingsfilformat nar du anvander -i. -d visa offset i decimal istallet for hex. -E | -EBCDIC Andra teckenkodningen i den hogra kolumnen fran ASCII till EBCDIC. Detta andrar inte den hexadecimala representationen. Flaggan ar meningslos i kombination med -r, -p eller -i. -e Byt till little-endian hex dump. Denna flagga behandlar byte-grupper som ord i little-endian byte-ordning. Standardgrupperingen pa 4 byte kan andras med -g. Denna flagga galler endast hex dump, ASCII- (eller EBCDIC-) representationen forblir oforandrad. Kommandoradsvaxlarna -r, -p, -i fungerar inte i detta lage. -g bytes | -groupsize byte Separera utdata for varje -byte (tva hexadecimala tecken eller atta bitars siffror vardera) med ett blanksteg. Ange -g 0 for att undertrycka gruppering. -standardvardet ar 2 i normalt lage, 4 i little-endian-lage och 1 i bits-lage. Gruppering galler inte for PostScript eller inkluderingsstil. -h | -help Skriv ut en sammanfattning av tillgangliga kommandon och avsluta. Ingen hexdumpning utfors. -i | -include Utdata i C-inkluderingsfilformat. En komplett statisk arraydefinition skrivs (uppkallad efter inmatningsfilen), savida inte xxd laser fran stdin. Kan kombineras med -b. -l len | -len len Stanna efter att ha skrivit oktetter. -n name | -name namn Asidosatt variabelnamnets utdata nar -i anvands. Arrayen heter name och langden heter name_len. -o offset Lagg till till den visade filpositionen. -p | -ps | -postscript | -plain Utdata i PostScript-format med kontinuerlig hexdump. Kallas aven vanlig hexdump. -r | -revert Omvand operation: konvertera (eller patcha) hexdump till binar. Om xxd inte skriver till stdout, skriver det till sin utdatafil utan att trunka den. Anvand kombinationen -r -p for att lasa vanliga hexadecimala dumpningar utan radnummerinformation och utan en sarskild kolumnlayout. Extra blanksteg och radbrytningar ar tillatna var som helst. Anvand kombinationen -r -b for att lasa en bitdump istallet for en hexdump. -R when I utdata fargas bade hexvardet och vardet med samma farg beroende pa hexvardet. Detta hjalper framst till att skilja mellan utskrivbara och icke-utskrivbara tecken. when ar never, always eller auto (standard: auto). Nar miljovariabeln $NO_COLOR ar installd inaktiveras farglaggningen. -seek offset Nar det anvands efter -r: aterstall med laggs till i filpositioner som hittas i hexdump. -s [+][-]seek Borja vid byte absolut (eller relativ) infile offset. + anger att sokningen ar relativ till den aktuella stdin-filpositionen (meningslost nar man inte laser fran stdin). - anger att sokningen ska ske sa manga tecken fran slutet av inmatningen (eller om det kombineras med +: fore den aktuella stdin-filpositionen). Utan flaggan -s borjar xxd vid den aktuella filpositionen. -u Anvand versaler for hexadecimala bokstaver. Standard ar gemener. -v | -version Visa versionsstrang. VARNINGAR xxd -r finns en inbyggd funktion som utvarderar radnummerinformation. Om utdatafilen ar sokbar kan radnumren i borjan av varje hexdump-rad vara i fel ordning, rader kan saknas eller overlappa varandra. I dessa fall kommer xxd att lseek(2) till nasta position. Om utdatafilen inte ar sokbar ar endast luckor tillatna, vilka kommer att fyllas med nolltecken. xxd -r genereras aldrig parsningsfel. Skrap ignoreras tyst. Nar du redigerar hexdumps, observera att xxd -r hoppar over allt pa inmatningsraden efter att ha last tillrackligt manga kolumner med hexadecimal data (se flaggan -c). Detta innebar ocksa att andringar i de utskrivbara ASCII- (eller EBCDIC-) kolumnerna alltid ignoreras. Aterstallning av en vanlig (eller PostScript) hexdump med xxd -r -p ar inte beroende av ratt antal kolumner. Har tolkas allt som ser ut som ett par hexadecimala siffror. Observera skillnaden mellan % xxd -i fil och % xxd -i < fil xxd -s +seek kan skilja sig fran xxd -s seek, eftersom lseek(2) anvands for att "spola tillbaka" indata. Ett '+' gor skillnad om indatakallan ar stdin och om stdins filposition inte ar i borjan av filen nar xxd startas och far sin indata. Foljande exempel kan hjalpa till att fortydliga (eller forvirra ytterligare!): Spola tillbaka stdin innan lasning; nodvandigt eftersom `cat' redan har last till slutet av stdin. % sh -c "cat > plain_copy; xxd -s 0 > hex_copy" < file Hexdump fran filposition 0x480 (=1024+128) och framat. Tecknet "+" betyder "relativt till aktuell position", sa "128" laggs till 1k dar dd slutade. % sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet" < file Hexdump fran filposition 0x100 (=1024-768) och framat. % sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +-768 > hex_snippet" < file Detta ar dock en sallsynt situation och anvandningen av `+' behovs sallan. Forfattaren foredrar att overvaka effekten av xxd med strace(1) eller truss(1) nar -s anvands. EXEMPEL Skriv ut allt utom de tre forsta raderna (hex 0x30 byte) av file. % xxd -s 0x30 fil Skriv ut 3 rader (hex 0x30 byte) fran slutet av file. % xxd -s -0x30 fil Observera: Resultaten i exemplen nedan ar relevanta for xxd.1-man-sidan fran maj 2024 Skriv ut 120 byte som en kontinuerlig hexdump med 20 oktetter per rad. % xxd -l 120 -ps -c 20 xxd.1 2e544820585844203120224d6179203230323422 20224d616e75616c207061676520666f72207878 64220a2e5c220a2e5c222032317374204d617920 313939360a2e5c22204d616e2070616765206175 74686f723a0a2e5c2220202020546f6e79204e75 67656e74203c746f6e79407363746e7567656e2e Hexdump de forsta 120 byte av denna man-sida med 12 oktetter per rad. % xxd -l 120 -c 12 xxd.1 00000000: 2e54 4820 5858 4420 3120 224d .TH XXD 1 "M 0000000c: 6179 2032 3032 3422 2022 4d61 ay 2024" "Ma 00000018: 6e75 616c 2070 6167 6520 666f manuell sida for 00000024: 7220 7878 6422 0a2e 5c22 0a2e r xxd"..\".. 00000030: 5c22 2032 3173 7420 4d61 7920 \" 21 maj 0000003c: 3139 3936 0a2e 5c22 204d 616e 1996..\" Man 00000048: 2070 6167 6520 6175 7468 6f72 sidans forfattare 00000054: 3a0a 2e5c 2220 2020 2054 6f6e :..\" Ton 00000060: 7920 4e75 6765 6e74 203c 746f y Nugent output_file Korrigera datumet i filen xxd.1 % echo "0000034: 3574 68" | xxd -r - xxd.1 % xxd -s 0x33 -l 13 -c 13 xxd.1 00000033: 3235 7468 204d 6179 2031 3939 36 25 maj 1996 Skapa en fil pa 65537 byte med alla byte 0x00, forutom den sista som ar 'A' (hex 0x41). % echo "010000: 41" | xxd -r > fil Hexdump denna fil med autoskip. % xxd -a -c 12 fil 00000000: 0000 0000 0000 0000 0000 0000 ............ * 0000fffc: 0000 0000 41 ....A Skapa en 1 byte-fil som innehaller ett enda 'A'-tecken. Siffran efter '-r -s' laggs till radnumren i filen; i praktiken undertrycks de inledande bytena. % echo "010000: 41" | xxd -r -s -0x10000 > fil Anvand xxd som filter i en redigerare som vim(1) for att hexdumpning av ett omrade markerat mellan `a' och `z'. :'a,'z!xxd Anvand xxd som filter i en redigerare som vim(1) for att aterstalla en binar hexdump markerad mellan `a' och `z'. :'a,'z!xxd -r Anvand xxd som filter i en redigerare som vim(1) for att aterstalla en rad i en hexdump. Flytta markoren over raden och skriv: !!xxd -r Las enskilda tecken fran en seriell linje % xxd -c1 < /dev/term/b & % stty < /dev/term/b -echo -opost -isig -icanon min 1 % echo -n foo > /dev/term/b RETURVARDEN Foljande felvarden returneras: 0 inga fel upptacktes. -1 operationen stods inte (xxd -r -i fortfarande omojligt). 1 fel vid tolkning av flaggor. 2 problem med inmatningsfilen. 3 problem med utdatafilen. 4,5 onskad sokposition ar ouppnaelig. SE AVEN uuencode(1), uudecode(1), patch(1) VARNINGAR Verktygets konstighet matchar dess skapares hjarna. Anvand helt pa egen risk. Kopiera filer. Spara dem. Bli en trollkarl. VERSION Denna manual sida dokumenterar xxd version 1.7 fran 2024-05. UPPHOVSPERSON (c) 1990-1997 av Juergen Weigert Distribuera fritt och ange mig som kalla, tjana pengar och dela med mig, forlora pengar och fraga inte mig. Manualsida skapad av Tony Nugent Sma andringar av Bram Moolenaar. Redigerat av Juergen Weigert. SVENSK OVERSATTNING Vim oversattes ursprungligen av Johan Svedberg 2003-2007 och har under 2025 uppdaterats av Daniel Nylander, speciellt manualsidor samt sjalva Vim. Om du hittar fel i oversattningen, kontakta . Manualsida for xxd Maj 2024 XXD(1)