Il comando dd sta per “data duplicator” ed è usato per copiare e convertire i dati. E ‘ molto potente utility di basso livello di Linux che può fare molto di più come;
• Backup e ripristino dell’intero disco rigido o partizione.
• Backup di MBR (Master Boot Record)
• Può copiare e convertire il formato del nastro magnetico, convertire tra formati ASCII ed EBCDIC, scambiare byte e può anche convertire minuscole in maiuscole.r• * Può essere utilizzato anche da Linux kernel fare i file per rendere le immagini di avvio.,
Solo superutente può eseguire questo comando perché si può affrontare una grande perdita di dati a causa del suo uso improprio, così si dovrebbe essere molto attenti mentre si lavora con questa utility. In quel momento la perdita di dati può convertire l’utilità dd come un “distruttore di dati” per voi. Ecco perché è consigliabile che i principianti non dovrebbero usare questo comando su una macchina di produzione fino a quando non hanno familiarità su questo. È necessario assicurarsi che la posizione di destinazione abbia spazio sufficiente durante l’esecuzione di questo comando.
Sintassi del comando dd
Prima di iniziare con qualche lavoro pratico dobbiamo parlare della sua sintassi.,
dd if=<source file name> of=<target file name>
Normalmente non spieghiamo la sintassi ma questa sintassi del comando richiede qualche spiegazione. La sintassi è totalmente diversa rispetto a molti comandi Linux che conosciamo. In questa sintassi dd è seguito da due cose
if=<source> –Questa è una fonte da cui si desidera copiare i dati e ‘if’ sta per input-file.
of=< destination > –Questa è una fonte da cui si desidera scrivere / incollare i dati e ‘of’ sta per output-file.,
– Queste opzioni includono, quanto velocemente i dati dovrebbero essere scritti, quale formato ecc.
Input(nome del file di origine) e Output(nome del file di destinazione) nella sintassi sono dischi, partizioni, file e dispositivi a cui si desidera scrivere e leggere i dati da. Ci sono molte opzioni che discuteremo negli esempi.
Impara il comando Linux dd con esempi
Esempio 1: Clona un disco rigido su un altro disco rigido. Questo è utile quando stiamo costruendo molte macchine con la stessa configurazione. Non abbiamo bisogno di installare il sistema operativo su tutte le macchine., Basta installare il sistema operativo e il software richiesto sulla macchina, quindi clonare con l’esempio seguente.
dd if=/dev/sda of=/dev/sdb
Esempio 2: Possiamo eseguire il backup di una partizione / HDD completo per il ripristino futuro.
Backup di una partizione in un file (nella mia directory home come hdadisk.img)
dd if =/dev/sda2 of=~/hdadisk.img
Ripristino di questo file immagine in un’altra macchina
dd if=hdadisk.img of=/dev/sdb3
Esempio 3: Ti senti hdadisk.img è un po ‘ grande? Utilizzare gzip o bzip2 per comprimere quando si crea un’immagine.
dd if =/dev/sda2 | bzip2 hdadisk.img.bz2
Esempio 4: Sai che il comando dd può essere usato anche come copiatrice di file?, Sì, se non si dispone del comando cp, utilizzare il comando dd per copiare un file da una posizione all’altra.
dd if=/home/imran/abc.txt of=/mnt/abc.txt
Ok, va bene per l’uso di base del comando dd. Ma la bellezza del comando dd sta negli usi avanzati come la pulizia dei dischi, la pulizia completa dei dischi, i backup MBR ecc.
Uso avanzato del comando Linux dd
Da qui si dovrebbe fare attenzione quando si utilizza questo comando e si dovrebbe prima provare questi comandi su una macchina di prova prima di ottenere la familiarità.
Esempio 5: Pulire / eliminare il contenuto di un disco in modo che sia vuoto per qualcuno di usarlo.,
dd if=/dev/zero of=/dev/sdb
Questo cancellerà il tuo secondo disco rigido e ogni bit viene scritto con zero. potresti essere interessato ad imparare i file/dev /null e/dev / zero che fanno cose simili ma c’è un po ‘ di differenza.
Come avviene la scrittura di un file su disco rigido con dati?
Normalmente ciò che scrivi su un disco a livello di blocco scriverà una combinazione di zeri e uno. Spero che tu lo sappia e quello che stiamo facendo qui è che stiamo solo scrivendo zeri che cancelleranno tutti gli 1 dal disco rigido. Questo alla fine rende il disco vuoto.,
Esempio 6: Cosa nascondere il culo cancellando i tuoi dati personali. Molte persone pensano che se facciamo rm-rf / <i tuoi dati> faranno il necessario. Ma possiamo recuperare quelli cancellazione utilizzando strumenti di recupero del disco come Photorec o alcuni strumenti forensi. Ma se vuoi che alcuni non recuperino i tuoi dati devi scrivere dati casuali sulla tua partizione in cui risiedono i tuoi dati.
dd if=/dev/random of=/dev/sdb
Eseguire il comando sopra più volte in modo che sia davvero difficile recuperare i dati. Se sono al tuo posto, scriverò sotto lo script di shell per farlo.,
for i in {1..10};do dd if=/dev/random of=/dev/sdb;done
Questo eseguirà il comando dd 10 volte di seguito una dopo l’altra.
Esempio 7: Possiamo creare un file system virtuale con il comando dd che può essere usato come swap. Per saperne di più su si dovrebbe sapere su come creare spazio di swap virtuale in Linux.
dd if=/dev/zero of=/swapfile bs=1024 count=200000
dove bs sta per block size e count non è altro che il numero di tali blocchi utilizzati per creare questo file di swap.
Assicurati di utilizzare le dimensioni dei blocchi in multipli di 1024 byte che sono uguali a 1 KB., Se non si specifica la dimensione del blocco, dd utilizza una dimensione del blocco predefinita di 512 byte. Le convenzioni di seguito funzioneranno per le dimensioni dei blocchi.
N e di BYTE che può essere seguito da una moltiplicativo suffissi: c =1, w =2, b =512,
kB =1000, K =1024,
Mb =1000*1000, MB=1024*1024,
Gb =1000*1000*1000, GB =1024*1024*1024,
and so on for T, P, E, Z, Y.
Esempio 8: Possiamo anche creare file ISO da un CD-ROM o DVD-ROM usando il comando dd.,
dd if=/dev/dvd of=/opt/my_linux_image.iso
o con
dd if=/dev/sr0 of=/home/$user/mycd_image.iso bs=2048 conv=sync
Alcuni altri esempi:
dd if=/dev/sda1 of=/dev/sdb1 bs=4096 conv=noerror,sync
Questo farà clonare una partizione sda1 altra partizione sdb1, utilizzato anche opzione di sincronizzazione per sincronizzare la partizione
dd if=/dev/sdx of=/dev/sdy bs=64k conv=noerror,sync
Questo per clonare l’intero disco, compreso MBR, tutte le partizioni e i dati di dove noerrr incarica il dd per ignorare tutti gli errori di lettura, pur continuando le operazioni. Gli offset dei dati snyc rimangono sincronizzati E bs = imposta la dimensione del blocco impostata su 64k.,
Esempio 9: Possiamo anche controllare quota disco utilizzando il comando dd con la creazione di file enormi che mangia fino HDD in pochissimo tempo.
dd if=/dev/zero of=/usr/disk-img/disk-quota.ext3 count=40960
Questo creerà un file di 20 MB (immagine disco) in detto percorso.
Esempio 10: Possiamo persino creare USB avviabili usando il comando dd.
dd if = / home / user user / bootimage.img di= / dev / sdc
Questo creerà un’unità USB avviabile dove/dev / sdc è un’unità USB.
Esempio 11: Recupero dati utilizzando il comando ddrescue.
strumento ddrescue viene utilizzato per la clonazione e il recupero dei dati. questo non è installato di default in molte macchine Linux., Di seguito sono riportati i comandi da installare per le rispettive distribuzioni.
Installazione di ddrescue in macchine basate su Debian
apt-get install gddrescue
Installazione di ddrescue in macchine basate su Redhat
yum install gddrescue
E ‘ possibile copiare i dati da un dispositivo di file / blocco(disco rigido o CD-ROM) ad un altro durante il tentativo di salvare i dati cioè errore di lettura per massimizzare i dati recuperati. Per recuperare i dati il comando ddrescue deve essere eseguito in due passaggi seguiti dall’esecuzione del comando fsck.
Passo 1: Copia ogni blocco senza errori di lettura e la registrazione di questi errori nel file di registro.,
Passo 2: Copierà solo il blocco errato e proverà a leggere 3 volte alla fonte prima che si arrenda. Di quanto tu possa eseguire il comando per controllare il file system per la corruzione.
Passo 3: Esecuzione del comando fsck.
ddrescue –f –n /dev/sdX /dev/sdY rescue.log ddrescue –d –f –r3 /dev/sdX /dev/sdY rescue.log fsck –f /dev/sdY
Esempio 12: Computer forensics using dcfldd
dcfldd è la versione migliorata di dd con funzioni utili utilizzate anche per la computer forensics e la sicurezza. Prende i parametri di dd. È possibile utilizzare il comando dcfldd quando è necessario sapere che una copia e le copie successive sono identiche all’originale., dcfldd ha alcune funzionalità aggiuntive come;
- Hashing on-the-fly
- Status output
- Image/wipe verify
- Split output
- hashing
Anche in questo caso Dobbiamo installare questo comando, se questo non è presente.
Installazione di dcfldd in macchine basate su Debian
apt-get install dcfldd
Installazione di dcfldd in macchine basate su Redhat
yum install dcfldd
Esempio
Il comando precedente leggerà un Gb dall’unità sorgente e scriverà in un file chiamato image.DD.AA., calcolerà anche l’hash MD5 e lo sha512 ha di ogni Gigbyte letto.
- Bio
- Ultimi articoli
Latest posts by Imran Ashraf (see all)
- 12 Linux dd command examples – March 8, 2016