updated for version 7.0062
This commit is contained in:
402
runtime/doc/xxd-it.UTF-8.1
Normal file
402
runtime/doc/xxd-it.UTF-8.1
Normal file
@ -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 rapresentazione 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 predefinito: 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 predefinito 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 bytes " | " \-groupsize bytes"
|
||||
Inserisci ogni
|
||||
.RI < bytes >
|
||||
bytes di output (di due caratteri esadecimali o otto numeri binari ognuno)
|
||||
uno spazio bianco.
|
||||
Specificando
|
||||
.I \-g 0
|
||||
i bytes di output non sono separati da alcuno spazio.
|
||||
.RI < Bytes "> ha come valore predefinito " 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 lunghezza " | " \-len lunghezza"
|
||||
Il programma esce dopo aver scritto
|
||||
.RI < lunghezza >
|
||||
bytes.
|
||||
.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 ingorate].
|
||||
.TP
|
||||
.I \-seek distanza
|
||||
Usato con l'opzione
|
||||
.I \-r
|
||||
: (ricostruzione),
|
||||
.RI < distanza >
|
||||
viene aggiunta alla posizione nel file trovata nella immagine
|
||||
esadecimale.
|
||||
.TP
|
||||
.I \-s [\+][\-]seek
|
||||
Inizia a
|
||||
.RI < seek >
|
||||
bytes 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 option, xxd inizia alla posizione
|
||||
corrente all'interno del file.
|
||||
.TP
|
||||
.I \-u
|
||||
usa lettere esadecimali maiuscole. Il valore predefinito è 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 corrretto 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
|
||||
.I 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 pozione 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 `+' di rado.
|
||||
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 bytes esadecimali) di
|
||||
.B file
|
||||
\.
|
||||
.br
|
||||
\fI% xxd \-s 0x30 file
|
||||
.PP
|
||||
.br
|
||||
Stampa 3 linee (0x30 bytes esadecimali) alla fine di
|
||||
.B file
|
||||
\.
|
||||
.br
|
||||
\fI% xxd \-s \-0x30 file
|
||||
.PP
|
||||
.br
|
||||
Stampa 120 bytes come immagine esadecimale continua con 40 bytes 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 bytes della pagina di manuale vim.1 a 12 bytes 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 bytes 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 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 bytes 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 una immagine esadecimale di una parte di file
|
||||
delimitata dai mark `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 mark `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 charatteri 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
|
||||
Reference in New Issue
Block a user