xxd(1): Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '= xxd(1) = == NAMN == '''xxd''' — skapa en hexdump eller göra det omvända == SYNOPSIS == <code>xxd -h[elp]</code> <code>xxd [alternativ] [infil [utfil]]</code> <code>xxd -r[evert] [alternativ] [infil [utfil]]</code> == BESKRIVNING == '''xxd''' skapar en hexdump av en given fil eller standard in. Det kan också konvertera en hexdump tillbaka till sin ursprungliga binära form. Liksom uuencode(1) och uudecode(1) tillåter det överföring av binär data i...') |
Admin (diskussion | bidrag) |
||
| (En mellanliggande sidversion av samma användare visas inte) | |||
| Rad 224: | Rad 224: | ||
== SE ÄVEN == | == SE ÄVEN == | ||
[[uuencode(1)]], [[uudecode(1)]], [[patch(1)]] | [[uuencode(1)]], | ||
[[uudecode(1)]], | |||
[[patch(1)]] | |||
== VARNINGAR == | == VARNINGAR == | ||
| Rad 245: | Rad 249: | ||
Små ändringar av Bram Moolenaar. Redigerad av Juergen Weigert. | Små ändringar av Bram Moolenaar. Redigerad av Juergen Weigert. | ||
= Sidslut = | |||
Orginalhemsidan på Engelska https://linux.die.net/man/1/xxd | |||
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på | |||
https://www.linux.se/kontaka-linux-se/ | |||
<BR><BR>Tack till [https://Pc-service.se PC Service] som har sponsrat [https://www.linux.se Linux.se] med webbhotell. | |||
[[Kategori:Linuxmanual grupp 1]] | |||
[[Kategori:Linuxmanual]] | |||
Nuvarande version från 18 april 2026 kl. 10.12
xxd(1)
NAMN
xxd — skapa en hexdump eller göra det omvända
SYNOPSIS
xxd -h[elp]
xxd [alternativ] [infil [utfil]]
xxd -r[evert] [alternativ] [infil [utfil]]
BESKRIVNING
xxd skapar en hexdump av en given fil eller standard in. Det kan också konvertera en hexdump tillbaka till sin ursprungliga binära form. Liksom uuencode(1) och uudecode(1) tillåter det överföring av binär data i en ASCII-representation som är säker för e-post, men har fördelen att kunna avkoda till standard ut. Dessutom kan det användas för att göra patchning av binärfiler.
ALTERNATIV
Om ingen infil anges läses standard in. Om infil anges som tecknet - tas indata från standard in. Om ingen utfil anges, eller om - används i dess ställe, skickas resultatet till standard ut.
Observera att en ”lat” parser används som inte kontrollerar mer än den första alternativbokstaven, om inte alternativet följs av en parameter. Blanksteg mellan en enskild alternativbokstav och dess parameter är valfria. Parametrar till alternativ kan anges i decimal, hexadecimal eller oktal notation. Därför är -c8, -c 8, -c 010 och -cols 8 likvärdiga.
-a|-autoskip- Växla autoskip. En ensam
*ersätter rader med bara nollbyte. Avstängt som standard.
-b|-bits- Växla till dump i bitar i stället för hex. Detta alternativ skriver oktetter som åtta siffror med
1och0i stället för en vanlig hex-dump. Varje rad föregås av ett radnummer i hexadecimal form och följs av en ASCII- eller EBCDIC-representation. Växlarna-r,-poch-ifungerar inte med detta läge.
-c cols|-cols cols- Formatera
<cols>oktetter per rad. Standard är 16 (-i: 12,-ps: 30,-b: 6). Maxvärde är 256.
-E|-EBCDIC- Ändra teckenkodningen i den högra kolumnen från ASCII till EBCDIC. Detta ändrar inte den hexadecimala representationen. Alternativet saknar betydelse tillsammans med
-r,-peller-i.
-g bytes|-groupsize bytes- Dela upp utdata genom att separera varje grupp om
<bytes>byte med ett blanksteg. Ange-g 0för att undertrycka gruppering. Standard är2i normalt läge och1i bitläge. Gruppering gäller inte i postscript- eller include-stil.
-h|-help- Skriv en sammanfattning av tillgängliga kommandon och avsluta. Ingen hexdump utförs.
-i|-include- Skriv utdata i stil med en C-include-fil. En fullständig statisk arraydefinition skrivs ut, namngiven efter indatafilen, om inte xxd läser från standard in.
-l len|-len len- Sluta efter att ha skrivit
<len>oktetter.
-p|-ps|-postscript|-plain- Skriv utdata i kontinuerlig hexdumpstil för postscript. Kallas också vanlig hexdumpstil.
-r|-revert- Omvänd operation: konvertera eller patcha hexdump till binärt. Om utdata inte skrivs till standard ut skriver xxd till utdatafilen utan att trunkera den. Kombinationen
-r -panvänds för att läsa vanliga hex-dumpar utan radnummer och utan särskild kolumnlayout. Extra blanktecken och radbrytningar tillåts överallt.
-seek offset- När det används efter
-r: gör återställning med<offset>adderat till filpositionerna som hittas i hexdumpen.
-s [+][-]seek- Börja vid
<seek>byte absolut eller relativ filposition i indatafilen.+betyder att positionen är relativ till aktuell position i standard in.-betyder att positionen ska vara så många tecken från slutet av indata, eller om det kombineras med+, före aktuell position i standard in. Utan-sbörjar xxd vid aktuell filposition.
-u- Använd stora hexbokstäver. Standard är små bokstäver.
-v|-version- Visa versionssträng.
VARNINGAR
xxd -r har viss inbyggd magi när radnummerinformation tolkas. Om utdatafilen är sökbar kan radnumren i början av varje hexdumprad vara i oordning, rader kan saknas eller överlappa. I dessa fall kommer xxd att använda lseek(2) till nästa position. Om utdatafilen inte är sökbar tillåts bara luckor, som då fylls med nollbyte.
xxd -r genererar aldrig tolkningsfel. Skräp hoppas över utan varning.
Vid redigering av hexdumpar bör man notera att xxd -r hoppar över allt på inmatningsraden efter att ha läst tillräckligt många kolumner med hexadecimal data, se alternativet -c. Det betyder också att ändringar i de utskrivbara ASCII- eller EBCDIC-kolumnerna alltid ignoreras. Återställning av en vanlig eller postscript-stil hexdump med xxd -r -p beror inte på korrekt antal kolumner. Allt som ser ut som ett par hexsiffror tolkas då.
Observera skillnaden mellan:
% xxd -i file
och
% xxd -i < file
xxd -s +seek kan skilja sig från xxd -s seek, eftersom lseek(2) används för att ”spola tillbaka” indata. Ett + gör skillnad om inmatningskällan är standard in och dess filposition inte står i början av filen när xxd startas.
Följande exempel kan hjälpa till att förtydliga detta:
Spola tillbaka standard in före läsning; detta behövs eftersom cat redan har läst till slutet av standard in.
% sh -c "cat > plain_copy; xxd -s 0 > hex_copy" < file
Hexdump från filposition 0x480 (= 1024 + 128) och framåt. +-tecknet betyder ”relativt till den aktuella positionen”, så 128 läggs till den 1k-position där dd slutade.
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet" < file
Hexdump från filposition 0x100 (= 1024 - 768).
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +-768 > hex_snippet" < file
Detta är dock en ovanlig situation och användning av + behövs sällan. Författaren föredrar att övervaka effekten av xxd med strace(1) eller truss(1) när -s används.
EXEMPEL
Skriv ut allt utom de tre första raderna, hex 0x30 byte, i file.
% xxd -s 0x30 file
Skriv ut 3 rader, hex 0x30 byte, från slutet av file.
% xxd -s -0x30 file
Skriv ut 120 byte som kontinuerlig hexdump med 20 oktetter per rad.
% xxd -l 120 -ps -c 20 xxd.1 2e54482058584420312022417567757374203139 39362220224d616e75616c207061676520666f72 20787864220a2e5c220a2e5c222032317374204d 617920313939360a2e5c22204d616e2070616765 20617574686f723a0a2e5c2220202020546f6e79 204e7567656e74203c746f6e79407363746e7567
Hexdumpa de första 120 bytena i denna manualsida med 12 oktetter per rad.
% xxd -l 120 -c 12 xxd.1 0000000: 2e54 4820 5858 4420 3120 2241 .TH XXD 1 "A 000000c: 7567 7573 7420 3139 3936 2220 ugust 1996" 0000018: 224d 616e 7561 6c20 7061 6765 "Manual page 0000024: 2066 6f72 2078 7864 220a 2e5c for xxd"..\ 0000030: 220a 2e5c 2220 3231 7374 204d "..\" 21st M 000003c: 6179 2031 3939 360a 2e5c 2220 ay 1996..\" 0000048: 4d61 6e20 7061 6765 2061 7574 Man page aut 0000054: 686f 723a 0a2e 5c22 2020 2020 hor:..\" 0000060: 546f 6e79 204e 7567 656e 7420 Tony Nugent 000006c: 3c74 6f6e 7940 7363 746e 7567 <tony@sctnug
Visa bara datumet från filen xxd.1.
% xxd -s 0x36 -l 13 -c 13 xxd.1 0000036: 3231 7374 204d 6179 2031 3939 36 21st May 1996
Kopiera input_file till output_file och lägg till 100 byte med värdet 0x00 i början.
% xxd input_file | xxd -r -s 100 > output_file
Patcha datumet i filen xxd.1.
% echo "0000037: 3574 68" | xxd -r - xxd.1 % xxd -s 0x36 -l 13 -c 13 xxd.1 0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996
Skapa en fil på 65537 byte där alla byte är 0x00 utom den sista, som är A (0x41).
% echo "010000: 41" | xxd -r > file
Hexdumpa denna fil med autoskip.
% xxd -a -c 12 file 0000000: 0000 0000 0000 0000 0000 0000 ............ * 000fffc: 0000 0000 40 ....A
Skapa en fil på 1 byte som innehåller ett enda tecken A. Talet efter -r -s läggs till radnumren som hittas i filen; i praktiken undertrycks de inledande bytena.
% echo "010000: 41" | xxd -r -s -0x10000 > file
Använd xxd som filter i en editor som vim(1) för att hexdumpa ett område markerat mellan a och z.
:'a,'z!xxd
Använd xxd som filter i en editor som vim(1) för att återställa en binär hexdump markerad mellan a och z.
:'a,'z!xxd -r
Använd xxd som filter i en editor som vim(1) för att återställa en rad av en hexdump. Flytta markören till raden och skriv:
!!xxd -r
Läs enstaka tecken från en seriell linje.
% xxd -c1 < /dev/term/b & % stty < /dev/term/b -echo -opost -isig -icanon min 1 % echo -n foo > /dev/term/b
RETURVÄRDEN
Följande felvärden returneras:
- inga fel uppstod
-1— operationen stöds inte, till exempel ärxxd -r -ifortfarande omöjligt- fel vid tolkning av alternativ
- problem med indatafilen
- problem med utdatafilen
4,5— önskad seek-position kan inte nås
SE ÄVEN
VARNINGAR
Verktygets märklighet matchar dess skapares hjärna. Används helt på egen risk. Kopiera filer. Spåra det. Bli en trollkarl.
VERSION
Denna manualsida dokumenterar xxd version 1.7.
FÖRFATTARE
(c) 1990–1997 av Juergen Weigert
- <jnweiger@informatik.uni-erlangen.de>
Distribuera fritt och ge mig erkännande, tjäna pengar och dela med mig, förlora pengar och fråga mig inte.
Manualsidan påbörjades av Tony Nugent
- <tony@sctnugen.ppp.gu.edu.au>
- <T.Nugent@sct.gu.edu.au>
Små ändringar av Bram Moolenaar. Redigerad av Juergen Weigert.
Sidslut
Orginalhemsidan på Engelska https://linux.die.net/man/1/xxd
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till PC Service som har sponsrat Linux.se med webbhotell.