gg è un'utilità da riga di comando per sistemi operativi Unix e simili il cui scopo principale è convertire e copiare file.
- Su Unix, i driver di dispositivo per l'hardware (come le unità disco rigido) e i file di dispositivo speciali (come /dev/zero e /dev/random) appaiono nel file system proprio come i normali file.
- dd può anche leggere e/o scrivere da/su questi file, a condizione che la funzione sia implementata nei rispettivi driver
- Di conseguenza, dd può essere utilizzato per attività come il backup del settore di avvio di un disco rigido e l'ottenimento di una quantità fissa di dati casuali.
- Il programma dd può anche eseguire conversioni sui dati mentre vengono copiati, incluso lo scambio dell'ordine dei byte e la conversione da e verso le codifiche di testo ASCII ed EBCDIC.
Utilizzo: La sintassi della riga di comando di dd differisce da molti altri programmi Unix, in quanto utilizza la sintassi opzione=valore per le sue opzioni della riga di comando, piuttosto che per quelle più standard -valore dell'opzione O –opzione=valore formati. Per impostazione predefinita, dd legge da stdin e scrive su stdout, ma questi possono essere modificati utilizzando le opzioni if (file di input) e of (file di output).
Alcuni esempi pratici sul comando dd:
- Per eseguire il backup dell'intero disco rigido: Per eseguire il backup di un'intera copia di un disco rigido su un altro disco rigido collegato allo stesso sistema, eseguire il comando dd come mostrato. In questo esempio di comando dd, il nome del dispositivo UNIX del disco rigido di origine è /dev/hda e il nome del dispositivo del disco rigido di destinazione è /dev/hdb.
- Se rappresenta inputfile e Di rappresenta il file di output. Quindi la copia esatta di /dev/sda sarà disponibile in /dev/sdb .
- Se sono presenti errori, il comando precedente fallirà. Se dai il parametro conv=nessun errore quindi continuerà a copiare se ci sono errori di lettura.
- Il file di input e il file di output dovrebbero essere menzionati con molta attenzione. Nel caso in cui menzioni il dispositivo di origine nella destinazione e viceversa, potresti perdere tutti i tuoi dati.
- Per copiare, da disco rigido a disco rigido utilizzando il comando dd indicato di seguito, l'opzione di sincronizzazione consente di copiare tutto utilizzando l'I/O sincronizzato.
# dd if=/dev/sda of=/dev/sdb conv=noerror, sync>
# dd if=/dev/sda of=/dev/sdb>
# dd if=/dev/hda1 of=~/partition.img>Per creare un'immagine di un disco rigido: invece di eseguire un backup del disco rigido, è possibile creare un file immagine del disco rigido e salvarlo su altri dispositivi di archiviazione. Esistono molti vantaggi nel eseguire il backup dei dati su un'immagine disco, uno dei quali è la facilità d'uso. Questo metodo è in genere più veloce di altri tipi di backup e consente di ripristinare rapidamente i dati in seguito a una catastrofe imprevista. Crea l'immagine di un disco rigido /dev/hda.
# dd if=/dev/hda of=~/hdadisk.img>Per ripristinare utilizzando l'immagine del disco rigido: per ripristinare un disco rigido con il file immagine di un altro disco rigido, è possibile utilizzare il seguente comando dd
# dd if=hdadisk.img of=/dev/hdb>
Il file immagine hdadisk.img è l'immagine di /dev/hda, quindi il comando precedente ripristinerà l'immagine di /dev/hda su /dev/hdb. Per creare un backup su CDROM: il comando dd consente di creare un file ISO da un file sorgente. Quindi possiamo inserire il CD e inserire il comando dd per creare un file ISO del contenuto di un CD.
# dd if=/dev/cdrom of=tgsservice.iso bs=2048>
Il comando dd legge un blocco di input, lo elabora e lo scrive in un file di output. È possibile specificare la dimensione del blocco per il file di input e di output. Nell'esempio del comando dd precedente, il parametro cavolo specifica la dimensione del blocco sia per il file di input che per quello di output. Quindi dd usa 2048 byte come dimensione del blocco nel comando precedente.
Riferimenti :