mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 19:25:11 -07:00
a98a6996c2
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7 Excluding: Amiga icons (*.info, icons/) doc/hangulin.txt tutor/ spell/ lang/ (only used for menu translations) macros/maze/, macros/hanoi/, macros/life/, macros/urm/ These were used to test vi compatibility. termcap "Demonstration of a termcap file (for the Amiga and Archimedes)" Helped-by: Rich Wareham <rjw57@cam.ac.uk> Helped-by: John <john.schmidt.h@gmail.com> Helped-by: Yann <yann@yann-salaun.com> Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com> Helped-by: drasill <github@tof2k.com> Helped-by: Tae Sandoval Murgan <taecilla@gmail.com> Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
403 lines
12 KiB
Groff
403 lines
12 KiB
Groff
.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
|