Comando DD Linux

Comando DD Linux
"DD" è uno strumento CLI Linux. Ora, l'attuale versione di "DD" fa parte dei coreutils GNU, è quello che ogni singolo sistema UNIX/Linux è caratteristico. Lo scopo principale di questo strumento è convertire e copiare i file. Tuttavia, è abbastanza diverso rispetto ad altri strumenti di copia dei file come "CP".

Caratteristiche DD

"DD" può essere utilizzato per vari scopi:

  • Usando "DD", è possibile leggere direttamente e/o scrivere da/a file diversi a condizione che la funzione sia già implementata nei driver rispettati.
  • È super utile per scopi come il backup del settore dell'avvio, ottenendo dati casuali ecc.
  • Conversione dei dati, ad esempio, convertire ASCII in codifica EBCDIC.

Utilizzo DD

Ecco alcuni dei più comuni e interessanti utilizzo di "DD". Certo, "DD" è molto più capace di queste cose. Se sei interessato, ti consiglio sempre di dare un'occhiata ad altre risorse approfondite su "DD".

Posizione

quale dd

Come indica l'output, ogni volta che esegue "DD", viene lanciato da "/usr/bin/dd".

Uso di base

Ecco la struttura che "DD" segue.

dd if = di =

Ad esempio, creiamo un file con dati casuali. Ci sono alcuni file speciali integrati in Linux che appaiono come file normali come "/dev/zero" che produce un flusso continuo di null, "/dev/random" che produce dati casuali continui.

dd if =/dev/urandom di = ~/desktop/casuale.txt bs = 1m conteggio = 5

Le prime opzioni sono autoesplicative. Significa usare "/dev/urandom" come fonte di dati e "~/desktop/casuale.txt ”come destinazione. Quali sono le altre opzioni?

Qui, "BS" sta per "dimensione del blocco". Quando DD sta scrivendo dati, scrive in blocchi. Utilizzando questa opzione, la dimensione del blocco può essere definita. In questo caso, il valore "1m" dice che la dimensione del blocco è di 1 megabyte.

"Count" decide il numero di blocchi da scrivere. Se non risolto, "DD" continuerà il processo di scrittura a meno che il flusso di input non finisca. In questo caso, "/dev/urandom" continuerà a generare dati infinitamente, quindi questa opzione è stata fondamentale in questo esempio.

Backup dei dati

Utilizzando questo metodo, "DD" può essere utilizzato per scaricare i dati di un'intera unità! Tutto ciò di cui hai bisogno è dire l'unità come fonte.

dd if = di =

Se stai cercando tali azioni, assicurati che la tua fonte non sia una directory. "DD" non ha idea di come elaborare una directory, quindi le cose non funzionano.

"DD" sa solo come lavorare con i file. Quindi, se hai bisogno di eseguire il backup di una directory, usa prima per archiviarla, quindi usa "DD" per trasferirlo su un file.

DEMO TAR CVJF.catrame.xz demodir/
dd if = demo.catrame.xz di = ~/desktop/backup.img

Nel prossimo esempio, eseguiremo un'operazione molto sensibile: eseguire il backup del MBR! Ora, se il tuo sistema utilizza MBR (record di avvio master), si trova ai primi 512 byte del disco di sistema: 466 byte per il bootloader, altri per la tabella delle partizioni.

Esegui questo comando per il backup del record MBR.

dd if =/dev/sda di = ~/desktop/mbr.IMG BS = 512 COUNT = 1

Ripristino dei dati

Per qualsiasi backup, è necessario il modo di ripristinare i dati. Nel caso di "DD", il processo di ripristino è un po 'diverso da qualsiasi altro strumento. Devi riscrivere il file di backup in una cartella/partizione/dispositivo simile.

Ad esempio, ho questo "backup.File IMG "contenente la" demo.catrame.XZ ”file. Per estrarlo, ho usato il seguente comando.

dd if = backup.img di = demo.catrame.xz

Ancora una volta, assicurati di scrivere l'output su un file. "DD" non va bene con le directory, ricorda?

Allo stesso modo, se "DD" fosse usato per creare un backup di una partizione, quindi il ripristino richiederebbe il comando seguente.

dd if = di =

Ad esempio, che ne dici di ripristinare l'MBR abbiamo eseguito il backup prima?

dd if = mbr.img di =/dev/sda

Opzioni "DD"

Ad un certo punto in questa guida, hai affrontato alcune opzioni "DD" come "BS" e "Count", a destra? Bene, ce ne sono altri. Ecco una lista su ciò che sono e su come usarli.

  • OB: determina le dimensioni dei dati da scrivere alla volta. Il valore predefinito è 512 byte.
  • CBS: determina la dimensione dei dati da convertire alla volta.
  • IBS: determina le dimensioni dei dati da leggere alla volta.
  • Conteggio: copia solo n blocchi
  • Cerca: saltare i blocchi all'inizio dell'output
  • Salta: salta i blocchi N all'inizio dell'input
conv = ASCII: converte l'input del file da ebcDIC ad ASCII
conv = eBCDIC: converte l'input del file da ASCII a EBCDIC
conv = IBM: converte l'input del file da ASCII a EBCDIC alternativo
conv = lcase: converte l'input del file dall'incendio a minuscolo
conv = ucase: converte l'input del file dall'inferno a maiuscola
conv = tampone: scambia ogni coppia di input

Opzioni aggiuntive:

  • Nocreat: non creare il file di output
  • NOTRUC: non troncare il file di output
  • Noerror: continua l'operazione, anche dopo aver affrontato l'errore
  • Fdatasync: scrivere dati su archiviazione fisica prima che il processo finisca
  • FSYNC: Simile a Fdatasync, ma scrive anche i metadati
  • IFLAG: modifica l'operazione in base a vari flag. I flag disponibili includono: Aggiungi per aggiungere dati all'output

Opzioni aggiuntive:

  • Directory: affrontare una directory fallirà l'operazione
  • DSYNC: I/O sincronizzato per i dati
  • Sincronizzazione: simile a DSYNC ma include metadati
  • Nocache: richieste per far cadere la cache.
  • Nofollow: non seguire alcun collegamento simbolico

Opzioni aggiuntive:

  • Count_Bytes: Simile a "Count = N"
  • Seek_Bytes: Simile a "Seek = N"
  • skip_bytes: simile a "skip = n"

Come hai visto, è possibile impilare più flag e opzioni in un singolo comando "DD" per modificare il comportamento dell'operazione.

dd if = demo.txt di = demo1.txt bs = 10 conteggio = 100 conv = ebcdic
iflag = append, nocache, nofollow, sync

Pensieri finali

Il flusso di lavoro di "DD" è piuttosto semplice. Tuttavia, affinché "DD" brilli veramente, dipende da te. Ci sono tonnellate di modi creativi in ​​cui "DD" può essere utilizzato per eseguire interazioni intelligenti.

Per informazioni approfondite su "DD" e tutte le sue opzioni, consultare l'uomo e la pagina delle informazioni.

uomo dd