Cosa fa esattamente il comando dd?


8

Qualche giorno fa sono stato felice di scoprire che non è poi così difficile scrivere un'immagine iso su una USB senza l'aiuto di un programma di terze parti esplicitamente progettato per farlo. Ma il comando (o programma) che facilita questo - dd - mi confonde.

Secondo Wikipedia è progettato per copiare e convertire dati grezzi, ma onestamente trovo questa definizione molto equivoca e vaga. Capisco che ti consente di trasformare un dato in un altro, ma cosa succede se il file di output specificato è troppo piccolo per essere trasformato nel file di input specificato?

dd if=giant_file of=tiny_file

Inoltre, quando creo un USB avviabile con un file di immagine, l'USB raggiunge un tipo di file system di isofs , ma se scrivo un archivio o eseguibile sull'unità, mantiene il suo normale tipo di file system.

Qualsiasi chiarimento su ciò che fa realmente il comando dd o su come funziona a un livello inferiore sarebbe molto apprezzato. Grazie!

Risposte:


8

ddesegue una copia byte per byte dall'origine alla destinazione, con una conversione facoltativa specificata convdall'argomento. Svolge Legge e scrive come specificato dal *bse *flagopzioni, con la gamma definita dai count, skipe seekle opzioni.

cosa succede se il file di output specificato è troppo piccolo per essere trasformato nel file di input specificato?

Se ofè troppo piccolo per contenere, ifi dati vengono troncati per adattarsi. Si noti che se ofè un file normale, viene sovrascritto.


1
ofviene sovrascritto anche se non è un file - questo è un modo molto carino per (accidentalmente?) distruggere una partizione / unità! Ecco perché è molto importante raddoppiare e forse triplicare la destinazione se si tratta di un'unità / partizione, per assicurarsi di avere quella giusta.
Bob

1
Tecnicamente scrive in oggetto, piuttosto che sovrascriverlo.
Ignacio Vazquez-Abrams,

Grazie per la risposta. Che cosa succede se non includi alcun argomento, ma fai qualcosa del genere dd if=executable of=archive.tar, supponendo che abbiano entrambe le stesse dimensioni. L'archivio verrà trasformato in modo impeccabile nell'eseguibile?
ICoffeeConsumer

1
Farà una copia byte per byte da executablea archive.tar512 byte alla volta. Non trasformerà il binario in un archivio.
Ignacio Vazquez-Abrams,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.