Manpages

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.