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.1407
1 files changed, 407 insertions, 0 deletions
diff --git a/runtime/doc/xxd-it.1 b/runtime/doc/xxd-it.1
new file mode 100644
index 0000000..9311ed5
--- /dev/null
+++ b/runtime/doc/xxd-it.1
@@ -0,0 +1,407 @@
+.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 lista 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 ricostruire 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 di un'opzione, a meno che l'opzione sia seguita da un parametro.
+Gli spazi fra una singola lettera di opzione e il relativo parametro 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 tutte notazioni equivalenti fra loro.
+.PP
+.TP
+.IR \-a " | " \-autoskip
+Richiesta di omissione: Un singolo '*' rimpiazza righe a zeri binari. Default: off.
+.TP
+.IR \-b " | " \-bits
+Richiesta di un'immagine binaria (cifre binarie), invece che esadecimale.
+Quest'opzione scrive un byte come otto cifre "1" e "0" invece di usare i
+numeri esadecimali. Ogni riga è preceduta da un indirizzo in esadecimale e
+seguita da una decodifica ASCII (o EBCDIC). Le opzioni \-p, \-i,
+specificabili dalla riga comando, non funzionano in questo modo.
+.TP
+.IR "\-c colonne " | " \-cols colonne"
+In ogni riga sono formattate
+.RI < colonne >
+colonne. Valore di default 16 (\-i: 12, \-ps: 30, \-b: 6).
+Non c'è un valore massimo per \-ps; se si specifica 0 viene scritta un'unica lunga riga di output.
+.TP
+.IR \-C " | " \-capitalize
+Mette in maiuscolo i nomi di variabili nello stile delle `include' C, se si usa \-i.
+.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 quest'opzione in combinazione con \-r, \-p o \-i.
+.TP
+.IR \-e
+Considera la lista esadecimale come avente codifica `little-endian'.
+Quest'opzione tratta i gruppi di byte come parole in codifica `little-endian'.
+Il raggruppamento di default dei byte a 4 a 4 può essere cambiato usando
+.RI "" \-g .
+Quest'opzione si applica solo alla lista esadecimale, Lasciando inalterata
+la rappresentazione ASCII (or EBCDIC).
+Le opzioni della riga di comando
+\-r, \-p, \-i non funzionano in questa modalità.
+.TP
+.IR "\-g numero " | " \-groupsize numero"
+Separa ogni gruppo di
+.RI < numero >
+byte in output (di due caratteri esadecimali o otto caratteri binari ognuno) con uno spazio bianco.
+Specificando
+.I \-g 0
+i byte di output non sono separati da alcuno spazio.
+.RI < Numero "> ha come valore di default " 2
+in modalità normale [esadecimale], \fI4\fP in modalità `little-endian' 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 è un file `include' in C. Viene preparata la definizione completa del
+vettore (col nome del file di input), tranne quando xxd legga dallo `standard input'.
+.TP
+.IR "\-l numero " | " \-len numero"
+Il programma esce dopo aver scritto
+.RI < numero >
+byte.
+.TP
+.I "\-n nome " | " \-name nome"
+Specifica il nome del vettore in output quando si usa \-i. Il vettore viene chiamato
+\fInome\fP e la sua lunghezza viene chiamata \fInome\fP_len.
+.TP
+.I \-o incremento
+Aggiunge
+.RI < incremento >
+alla posizione visualizzata dei byte del file.
+.TP
+.IR \-p " | " \-ps " | " \-postscript " | " \-plain
+L'output è nello stile di un dump esadecimale continuo sotto postscript.
+Noto anche come stile esadecimale semplice.
+.TP
+.IR \-r " | " \-revert
+Ricostruisce: converte (o mette una patch) da immagine esadecimale, a file binario.
+Se non scrive sullo `standard output', xxd scrive nel file di output in maniera
+continua, senza interruzioni. Usare la combinazione
+.I \-r \-p
+per leggere un dump in stile esadecimale semplice, senza l'informazione del numero
+di riga e senza un particolare tracciato di colonna. Spazi o righe vuote
+possono essere presenti dappertutto [e vengono ignorati]. Usare la combinazione
+.I \-r \-b
+per leggere un dump binario, invece che un dump esadecimale.
+.TP
+.IR \-R " "[quando]
+Nell'output i valori esadecimali e i caratteri corrispondenti hanno entrambi
+lo stesso colore, a seconda del valore esadecimale. Utile soprattutto a
+distinguere i caratteri stampabili da quelli non stampabili.
+.I quando
+può assumere i valori
+.BR never ", " always ", o " auto .
+Quando la variabile d'ambiente
+.BR $NO_COLOR
+è impostata, la colorazione viene disabilitata.
+.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 significativo quando non si legge da `standard input'). \fI\- \fRindica che il
+`seek' dovrebbe posizionarsi al numero specificato di caratteri dalla fine dell'input
+(o se in combinazione con \fI+ \fR: prima della posizione corrente nel file `standard input').
+Se non si specifica l'opzione \-s, xxd inizia dalla posizione corrente all'interno del file.
+.TP
+.I \-u
+Usa lettere esadecimali maiuscole. Per default si usano 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 riga".
+Se è possibili posizionarsi tramite `seek' sul file di output, il numero di riga
+di ogni riga esadecimale può essere non ordinato, delle righe possono mancare, o
+sovrapporsi. In tal caso xxd userà lseek(2) per posizionarsi all'interno del file.
+Se per il file di output non si può usare `seek', sono permessi solo dei "buchi", che saranno riempiti con zeri binari.
+.PP
+.I xxd \-r
+non genera mai errori per parametri errati. I parametri extra sono silenziosamente ignorati.
+.PP
+Nel modificare immagini esadecimali, si tenga conto che
+.I xxd \-r
+salta il resto della riga, dopo aver letto i 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, e riceve 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 fino alla fine dello `standard input'.
+.br
+\fI% sh \-c "cat > copia_normale; xxd \-s 0 > copia_esadecimale" < file\fR
+.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\fR
+.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 righe (0x30 byte in esadecimale) di
+.BR file .
+.br
+\fI% xxd \-s 0x30 file\fR
+.PP
+.br
+Stampa 3 righe (0x30 byte in esadecimale) alla fine di
+.BR file .
+.br
+\fI% xxd \-s \-0x30 file
+.PP
+.br
+Stampa 120 byte come immagine esadecimale continua con 20 byte per riga.
+.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 xxd.1 a 12 byte per riga.
+.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 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
+Creare 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
+Usare xxd come filtro all'interno di un editor come
+.B vim(1)
+per ottenere l'immagine esadecimale della parte di file fra i 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 un'immagine esadecimale fra i 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 riga di file binario da un'immagine esadecimale. Portare il cursore sopra la riga e battere:
+.br
+\fI!!xxd \-r\fR
+.PP
+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
+\%(\c
+.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 iniziata 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