summaryrefslogtreecommitdiffstats
path: root/runtime/doc/xxd-it.1
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/doc/xxd-it.1')
-rw-r--r--runtime/doc/xxd-it.1402
1 files changed, 402 insertions, 0 deletions
diff --git a/runtime/doc/xxd-it.1 b/runtime/doc/xxd-it.1
new file mode 100644
index 0000000..1fb4ae5
--- /dev/null
+++ b/runtime/doc/xxd-it.1
@@ -0,0 +1,402 @@
+.TH XXD 1 "Agosto 1996" "Pagina di manuale per xxd"
+.\"
+.\" 21 Maggio 1996
+.\" Autore della pagina di manuale:
+.\" Tony Nugent <tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
+.\" Modificato da Bram Moolenaar <Bram@vim.org>
+.SH NOME
+.I xxd
+\- Produce esadecimale da un file binario o viceversa.
+.SH SINTASSI
+.B xxd
+\-h[elp]
+.br
+.B xxd
+[opzioni] [input_file [output_file]]
+.br
+.B xxd
+\-r[evert] [opzioni] [input_file [output_file]]
+.SH DESCRIZIONE
+.I xxd
+crea un'immagine esadecimale di un dato file o dello "standard input".
+Può anche ottenere da un'immagine esadecimale il file binario originale.
+Come
+.BR uuencode (1)
+e
+.BR uudecode (1)
+permette di trasmettere dati binari in una rappresentazione ASCII "a prova
+di email", ma ha anche il vantaggio di poter decodificare sullo "standard
+output". Inoltre, può essere usato per effettuare delle modifiche (patch)
+a file binari.
+.SH OPZIONI
+Se non si specifica un
+.I input_file
+il programma legge dallo "standard input".
+Se
+.I input_file
+è specificato come il carattere
+.RB \` \- '
+, l'input è letto dallo "standard input".
+Se non si specifica un
+.I output_file
+(o si mette al suo posto il carattere
+.RB \` \- '
+), i risultati sono inviati allo "standard output".
+.PP
+Si noti che la scansione dei caratteri è "pigra", e non controlla oltre
+la prima lettera dell'opzione, a meno che l'opzione sia seguita da un
+parametro.
+Gli spazi fra una singola lettera di opzione e il corrispondente parametro
+dopo di essa sono facoltativi.
+I parametri delle opzioni possono essere specificati usando la notazione
+decimale, esadecimale oppure ottale.
+Pertanto
+.BR \-c8 ,
+.BR "\-c 8" ,
+.B \-c 010
+e
+.B \-cols 8
+sono notazioni equivalenti fra loro.
+.PP
+.TP
+.IR \-a " | " \-autoskip
+Richiesta di autoskip: Un singolo '*' rimpiazza linee di zeri binari.
+Valore di default: off.
+.TP
+.IR \-b " | " \-bits
+Richiesta di una immagine binaria (cifre binarie), invece che esadecimale.
+Questa opzione scrive un byte come otto cifre "1" e "0" invece di usare i
+numeri esadecimali. Ogni linea è preceduta da un indirizzo in esadecimale e
+seguita da una decodifica ascii (o ebcdic). Le opzioni specificabili dalla
+linea comando \-r, \-p, \-i non funzionano in questo modo.
+.TP
+.IR "\-c colonne " | " \-cols colonne"
+.IR "\-c colonne " | " \-cols colonne"
+In ogni linea sono formattate
+.RI < colonne >
+colonne. Valore di default 16 (\-i: 12, \-ps: 30, \-b: 6).
+Valore massimo 256.
+.TP
+.IR \-E " | " \-EBCDIC
+Cambia la codifica della colonna di destra da ASCII a EBCDIC.
+Questo non modifica la rappresentazione esadecimale. Non ha senso
+specificare questa opzione in combinazione con \-r, \-p o \-i.
+.TP
+.IR "\-g numero_byte " | " \-groupsize numero_byte"
+Inserisci ogni
+.RI < numero_byte >
+byte di output (di due caratteri esadecimali o otto numeri binari ognuno)
+uno spazio bianco.
+Specificando
+.I \-g 0
+i byte di output non sono separati da alcuno spazio.
+.RI < numero_byte > ha come valore di default " 2
+in modalità normale [esadecimale] e \fI1\fP in modalità binaria.
+Il raggruppamento non si applica agli stili "PostScript" e "include".
+.TP
+.IR \-h " | " \-help
+stampa un sommario dei comandi disponibili ed esce. Non viene fatto
+null'altro.
+.TP
+.IR \-i " | " \-include
+L'output è nello stile dei file "include" in C. Viene preparata la
+definizione completa di un "array" [vettore], dandogli il nome del
+file di input), tranne che nel caso in cui xxd legga dallo "standard input".
+.TP
+.IR "\-l numero " | " \-len numero"
+Il programma esce dopo aver scritto
+.RI < numero >
+byte.
+.TP
+.IR \-p " | " \-ps " | " \-postscript " | " \-plain
+L'output è nello stile di un dump continuo sotto postscript.
+Noto anche come stile esadecimale semplice [plain].
+.TP
+.IR \-r " | " \-revert
+ricostruzione: converte (o mette una patch) a partire dall'immagine
+esadecimale, creando [o modificando] il file binario.
+Se non diretto allo "standard output", xxd scrive nel suo file di output
+in maniera continua, senza interruzioni. Usare la combinazione
+.I \-r \-p
+per leggere dump in stile esadecimale semplice [plain], senza l'informazione
+di numero di linea e senza un particolare tracciato di colonna. Degli spazi
+o delle linee vuote possono essere inserite a piacere [e vengono ignorate].
+.TP
+.I \-seek distanza
+Usato con l'opzione
+.IR \-r :
+(ricostruzione),
+.RI < distanza >
+viene aggiunta alla posizione nel file trovata nella immagine
+esadecimale.
+.TP
+.I \-s [+][\-]seek
+Inizia a
+.RI < seek >
+byte assoluti (o relativi) di distanza all'interno di input_file.
+\fI+ \fRindica che il "seek" è relativo alla posizione corrente nel file
+"standard input" (non significativa quando non si legge da "standard input").
+\fI\- \fRindica che il "seek" dovrebbe posizionarsi ad quel numero di
+caratteri dalla fine dell'input (o se in combinazione con
+\fI+ \fR: prime della posizione corrente nel file "standard input").
+Se non si specifica una opzione \-s, xxd inizia alla posizione
+corrente all'interno del file.
+.TP
+.I \-u
+usa lettere esadecimali maiuscole. Il valore di default è di usare
+lettere minuscole.
+.TP
+.IR \-v " | " \-version
+visualizza la stringa contenente la versione del programma.
+.SH ATTENZIONE
+.PP
+.I xxd \-r
+è capace di operare "magie" nell'utilizzare l'informazione "numero di linea".
+Se sul file di output ci si può posizionare usando la "seek", il numero di
+linea all'inizio di ogni riga esadecimale può essere non ordinato, delle
+linee possono mancare delle linee, oppure esserci delle sovrapposizioni.
+In simili casi xxd userà lseek(2) per raggiungere la posizione d'inizio.
+Se il file di output non consente di usare "seek", sono permessi solo dei
+"buchi", che saranno riempiti con zeri binari.
+.PP
+.I xxd \-r
+non genera mai errori di specifica parametri. I parametri non riconosciuti
+sono silenziosamente ignorati.
+.PP
+Nel modificare immagini esadecimali, tenete conto che
+.I xxd \-r
+salta il resto della linea, dopo aver letto abbastanza caratteri contenenti
+dati esadecimali (vedere opzione \-c). Ciò implica pure che le modifiche alle
+colonne di caratteri stampabili ascii (o ebcdic) sono sempre ignorate.
+La ricostruzione da un file immagine esadecimale in stile semplice
+(postscript) con xxd \-r \-p non dipende dal numero corretto di colonne.
+IN questo caso, qualsiasi cosa assomigli a una coppia di cifre esadecimali
+è interpretata [e utilizzata].
+.PP
+Notare la differenza fra
+.br
+\fI% xxd \-i file\fR
+.br
+e
+.br
+\fI% xxd \-i \< file\fR
+.PP
+.I xxd \-s \+seek
+può comportarsi in modo diverso da
+.IR "xxd \-s seek"
+, perché lseek(2) è usata per tornare indietro nel file di input. Il '+'
+fa differenza se il file di input è lo "standard input", e se la posizione nel
+file di "standard input" non è all'inizio del file quando xxd è eseguito,
+con questo input.
+I seguenti esempi possono contribuire a chiarire il concetto
+(o ad oscurarlo!)...
+.PP
+Riavvolge lo "standard input" prima di leggere; necessario perché `cat'
+ha già letto lo stesso file ["file"] fino alla fine dello "standard input".
+.br
+\fI% sh \-c 'cat > copia_normale; xxd \-s 0 > copia_esadecimale' < file
+.PP
+Stampa immagine esadecimale dalla posizione file 0x480 (=1024+128) in poi.
+Il segno `+' vuol dire "rispetto alla posizione corrente", quindi il `128'
+si aggiunge a 1k (1024) dove `dd' si era fermato.
+.br
+\fI% sh \-c 'dd of=normale bs=1k count=1; xxd \-s +128 > esadecimale' < file
+.PP
+Immagine esadecimale dalla posizione 0x100 ( = 1024\-768 ) del file in avanti.
+.br
+\fI% sh \-c 'dd of=normale bs=1k count=1; xxd \-s +\-768 > esadecimale' < file
+.PP
+Comunque, questo capita raramente, e l'uso del `+' non serve quasi mai.
+L'autore preferisce monitorare il comportamento di xxd con strace(1) o
+truss(1), quando si usa l'opzione \-s.
+.SH ESEMPI
+.PP
+.br
+Stampa tutto tranne le prime tre linee (0x30 byte esadecimali) di
+.B file
+\.
+.br
+\fI% xxd \-s 0x30 file
+.PP
+.br
+Stampa 3 linee (0x30 byte esadecimali) alla fine di
+.B file
+\.
+.br
+\fI% xxd \-s \-0x30 file
+.PP
+.br
+Stampa 120 byte come immagine esadecimale continua con 20 byte per linea.
+.br
+\fI% xxd \-l 120 \-ps \-c 20 xxd.1\fR
+
+.br
+2e54482058584420312022417567757374203139
+.br
+39362220224d616e75616c207061676520666f72
+.br
+20787864220a2e5c220a2e5c222032317374204d
+.br
+617920313939360a2e5c22204d616e2070616765
+.br
+20617574686f723a0a2e5c2220202020546f6e79
+.br
+204e7567656e74203c746f6e79407363746e7567
+.br
+
+.br
+Stampa i primi 120 byte della pagina di manuale vim.1 a 12 byte per linea.
+.br
+\fI% xxd \-l 120 \-c 12 xxd.1\fR
+
+
+.br
+0000000: 2e54 4820 5858 4420 3120 2241 .TH XXD 1 "A
+.br
+000000c: 7567 7573 7420 3139 3936 2220 ugust 1996"
+.br
+0000018: 224d 616e 7561 6c20 7061 6765 "Manual page
+.br
+0000024: 2066 6f72 2078 7864 220a 2e5c for xxd"..\\
+.br
+0000030: 220a 2e5c 2220 3231 7374 204d "..\\" 21st M
+.br
+000003c: 6179 2031 3939 360a 2e5c 2220 ay 1996..\\"
+.br
+0000048: 4d61 6e20 7061 6765 2061 7574 Man page aut
+.br
+0000054: 686f 723a 0a2e 5c22 2020 2020 hor:..\\"
+.br
+0000060: 546f 6e79 204e 7567 656e 7420 Tony Nugent
+.br
+000006c: 3c74 6f6e 7940 7363 746e 7567 <tony@sctnug
+.PP
+.br
+Visualizza la data dal file xxd.1
+.br
+\fI% xxd \-s 0x36 \-l 13 \-c 13 xxd.1\fR
+.br
+0000036: 3231 7374 204d 6179 2031 3939 36 21st May 1996
+.PP
+.br
+Copiare
+.B input_file
+su
+.B output_file
+premettendogli 100 byte a 0x00.
+.br
+\fI% xxd input_file | xxd \-r \-s 100 \> output_file\fR
+.br
+
+.br
+Modificare (patch) la data nel file xxd.1
+.br
+\fI% echo '0000037: 3574 68' | xxd \-r \- xxd.1\fR
+.br
+\fI% xxd \-s 0x36 \-l 13 \-c 13 xxd.1\fR
+.br
+0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996
+.PP
+.br
+Creare un file di 65537 byte tutto a 0x00,
+tranne che l'ultimo carattere che è una 'A' (esadecimale 0x41).
+.br
+\fI% echo '010000: 41' | xxd \-r \> file\fR
+.PP
+.br
+Stampa una immagine esadecimale del file di cui sopra con opzione autoskip.
+.br
+\fI% xxd \-a \-c 12 file\fR
+.br
+0000000: 0000 0000 0000 0000 0000 0000 ............
+.br
+*
+.br
+000fffc: 0000 0000 40 ....A
+.PP
+Crea un file di 1 byte che contiene il solo carattere 'A'.
+Il numero dopo '\-r \-s' viene aggiunto a quello trovato nel file;
+in pratica, i byte precedenti non sono stampati.
+.br
+\fI% echo '010000: 41' | xxd \-r \-s \-0x10000 \> file\fR
+.PP
+Usa xxd come filtro all'interno di un editor come
+.B vim(1)
+per ottenere una immagine esadecimale di una parte di file
+delimitata dai marcatori `a' e `z'.
+.br
+\fI:'a,'z!xxd\fR
+.PP
+Usare xxd come filtro all'interno di un editor come
+.B vim(1)
+per ricostruire un pezzo di file binario da una immagine esadecimale
+delimitata dai marcatori `a' e `z'.
+.br
+\fI:'a,'z!xxd \-r\fR
+.PP
+Usare xxd come filtro all'interno di un editor come
+.B vim(1)
+per ricostruire una sola linea di file binario da una immagine esadecimale,
+Portare il cursore sopra la linea e battere:
+.br
+\fI!!xxd \-r\fR
+.PP
+Per leggere singoli caratteri da una linea seriale
+.br
+\fI% xxd \-c1 < /dev/term/b &\fR
+.br
+\fI% stty < /dev/term/b \-echo \-opost \-isig \-icanon min 1\fR
+.br
+\fI% echo \-n foo > /dev/term/b\fR
+.PP
+.SH CODICI DI RITORNO
+Il programma può restituire questi codici di errore:
+.TP
+0
+nessun errore rilevato.
+.TP
+\-1
+operazione non supportata (
+.I xxd \-r \-i
+non ancora possible).
+.TP
+1
+errore durante la scansione parametri.
+.TP
+2
+problemi con il file di input.
+.TP
+3
+problemi con il file di output.
+.TP
+4,5
+posizione "seek" specificata non raggiungibile all'interno del file.
+.SH VEDERE ANCHE
+uuencode(1), uudecode(1), patch(1)
+.br
+.SH AVVERTIMENTI
+La stranezza dello strumento rispecchia la mente del suo creatore.
+Usate a vostro rischio e pericolo. Copiate i file. Tracciate l'esecuzione.
+Diventate un mago.
+.br
+.SH VERSIONE
+Questa pagina di manuale documenta la versione 1.7 di xxd.
+.SH AUTORE
+.br
+(c) 1990-1997 Juergen Weigert
+.br
+<jnweiger@informatik.uni\-erlangen.de>
+.LP
+Distribuite liberamente ed attribuitemi il credito,
+.br
+fate soldi e condivideteli con me
+.br
+perdete soldi e non venite a chiederli a me.
+.PP
+Pagina di manuale messa in piedi da Tony Nugent
+.br
+<tony@sctnugen.ppp.gu.edu.au> <T.Nugent@sct.gu.edu.au>
+.br
+Piccole modifiche di Bram Moolenaar.
+Modificato da Juergen Weigert.
+.PP