NOME
dd − converte e copia un file
SINTASSI
dd [−−help] [−−version] [if=file] [of=file] [ibs=byte] [obs=byte] [bs=byte] [cbs=byte] [skip=blocchi] [seek=blocchi] [count=blocchi] [conv={ascii, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror, notrunc, sync}]
DESCRIZIONE
dd copia un file (per default dallo standard input allo standard output) con dimensioni predeterminate per i blocchi d’input e di output, effettuando eventualmente delle conversioni su di esso.
Legge l’input un blocco alla volta, colla dimensione che è stata specificata per i blocchi d’input (512 byte, per default). Se è presente l’opzione bs=byte, e non viene richiesta nessuna conversione a parte sync, noerror o notrunc, scrive la quantità di dati letta (che potrebbe essere minore di quella richiesta) in un blocco d’uscita separato. Questo blocco d’uscita ha esattamente la stessa lunghezza di quello d’ingresso, a meno che venga specificata l’opzione sync, nel qual caso vengono aggiunti NUL (o spazi, vedi sotto) alla fine dei dati.
Altrimenti l’input, letto un blocco alla volta, è elaborato e l’output risultante viene raccolto e scritto in blocchi della dimensione specificata. Il blocco finale di output potrebbe essere più corto.
Le opzioni numeriche che seguono (byte e blocchi) possono essere seguite da un moltiplicatore: k=1024, b=512, w=2, c=1 («w» e «c» sono estensioni GNU; «w» non dovrebbe mai essere usata: significa 2 in System V e 4 in 4.2BSD). Si possono moltiplicare due o più di queste espressioni mettendoci una «x» in mezzo. La versione in GNU fileutils-4.0 permette anche i seguenti suffissi moltiplicativi mentre si specificano le dimensioni dei blocchi (in bs=, cbs=, ibs=, obs=): M=1048576, G=1073741824, e così via per T, P, E, Z, Y. Un suffisso «D» li rende decimali: kD=1000, MD=1000000, GD=1000000000, ecc. Si noti che per ls, df, du, la dimensione di M, ecc., è determinata da variabili ambientali, mentre per dd è fissa.
OPZIONI
if=file
Legge da file invece che dallo standard input.
of=file
scrive su file invece che sullo standard output. A meno che venga usata l’opzione conv=trunc, dd riduce a zero (ovvero alla dimensione specificata da seek=) la lunghezza di file.
ibs=byte
Legge byte byte alla volta, 512 di default.
obs=byte
Scrive byte byte alla volta, 512 di default.
bs=byte
Scrive e legge byte byte alla volta, scavalcando ibs e obs (e impostare bs non equivale ad impostare ibs e obs allo stesso valore, per lo meno se non viene richiesta nessuna conversione diversa da sync, noerror o notrunc, visto che bs fa sì che ogni blocco in ingresso venga copiato in uscita come un blocco singolo, senza nessuna aggregazione dei blocchi brevi).
cbs=byte
Specifica la dimensione del blocco di conversione per block e unblock.
skip=blocchi
Salta blocchi blocchi da ibs-byte nel file d’input prima di copiare.
seek=blocchi
Salta blocchi blocchi da obs-byte nel file di output prima di copiare.
count=blocchi
Copia solo blocchi blocchi da ibs-byte dal file d’imput, invece che tutto quanto fino alla file del file.
conv=CONVERSIONE[,CONVERSIONE]...
Converte il file come specificato dagli argomenti CONVERSIONE (senza spazi intorno alle virgole).
Conversioni:
ascii |
Converte EBCDIC in ASCII. | ||
ebcdic |
Converte ASCII in EBCDIC. | ||
ibm |
Converte ASCII in EBCDIC alternato. | ||
block |
Per ogni riga d’input, scrive cbs byte in uscita, sostituendo le newline con spazi e aggiungendo spazi alla fine se necessario. |
unblock
Sostituisce gli spazi finali di ciascun blocco da cbs byte in ingresso con una newline.
lcase |
Cambia le maiuscole in minuscole. | ||
ucase |
Cambia le minuscole in maiuscole. | ||
swab |
Scambia ognia coppia di byte in ingresso. Se viene letto un numero dispari di byte, l’ultimo è semplicemente copiato (non essendoci niente con cui scambiarlo). [POSIX 1003.2b, interpretazioni PASC 1003.2 #3 e #4] |
noerror
Continua dopo un errore di lettura.
notrunc
Non tronca il file di output.
sync |
Aggiunge byte nulli alla fine di ogni blocco di input per una lunghezza totale di ibs. |
OPZIONI GNU STANDARD
−−help |
Stampa un messaggio di spiegazione sullo standard output ed esce (con successo). |
−−version
Stampa informazioni sulla versione sullo standard output ed esce (con successo).
−− |
Termina l’elenco delle opzioni. |
AMBIENTE
Le variabili LANG, LC_ALL, LC_CTYPE e LC_MESSAGES hanno il solito significato.
CONFORME A
POSIX 1003.2
ESEMPIO
Poiché un’unità a nastro in genere non accetta blocchi di dimensioni arbitarie, dd riceverebbe un errore di I/O qualora l’ultimo frammento di dati non riempa un blocco intero. Si usi «dd if=myfile of=/dev/mytape conv=sync» per mettere tutto quanto su nastro; ovviamente, rileggendolo si ottiene un file un poco più grande, con byte nulli aggiunti alla fine.
NOTE
Questa pagina descrive cp come si trova nel pacchetto fileutils-4.0; altre versioni potrebbero differire leggermente. Spedisci correzioni o aggiunte a aeb [AT] cwi.nl [NdT: ovviamente, problemi nella traduzione devono essere spediti al traduttore, non agli autori]. Segnala bachi nei programmi a fileutils-bugs [AT] gnu.edu.