dd ist ein Befehlszeilenprogramm für Unix und Unix-ähnliche Betriebssysteme, dessen Hauptzweck das Konvertieren und Kopieren von Dateien ist.
- Unter Unix werden Gerätetreiber für Hardware (z. B. Festplattenlaufwerke) und spezielle Gerätedateien (z. B. /dev/zero und /dev/random) wie normale Dateien im Dateisystem angezeigt.
- dd kann auch von/in diese Dateien lesen und/oder schreiben, sofern diese Funktion in den jeweiligen Treibern implementiert ist
- Daher kann dd für Aufgaben wie das Sichern des Bootsektors einer Festplatte und das Abrufen einer festen Menge zufälliger Daten verwendet werden.
- Das dd-Programm kann beim Kopieren auch Konvertierungen an den Daten durchführen, einschließlich des Austauschs der Bytereihenfolge und der Konvertierung in und aus den Textkodierungen ASCII und EBCDIC.
Verwendung : Die Befehlszeilensyntax von dd unterscheidet sich von vielen anderen Unix-Programmen dadurch, dass sie die Syntax verwendet Option=Wert für seine Befehlszeilenoptionen und nicht für die Standardoptionen -Optionswert oder –Option=Wert Formate. Standardmäßig liest dd von stdin und schreibt in stdout, diese können jedoch mithilfe der Optionen if (Eingabedatei) und of (Ausgabedatei) geändert werden.
Einige praktische Beispiele zum dd-Befehl:
- So sichern Sie die gesamte Festplatte: Um eine vollständige Kopie einer Festplatte auf einer anderen Festplatte zu sichern, die mit demselben System verbunden ist, führen Sie den Befehl dd wie gezeigt aus. In diesem dd-Befehlsbeispiel lautet der UNIX-Gerätename der Quellfestplatte /dev/hda und der Gerätename der Zielfestplatte ist /dev/hdb.
- Wenn stellt die Eingabedatei dar und von stellt die Ausgabedatei dar. Also die exakte Kopie von /dev/sda wird verfügbar sein /dev/sdb .
- Wenn Fehler auftreten, schlägt der obige Befehl fehl. Wenn Sie den Parameter angeben conv=noerror dann wird der Kopiervorgang fortgesetzt, wenn Lesefehler auftreten.
- Eingabedatei und Ausgabedatei sollten sehr sorgfältig erwähnt werden. Nur für den Fall, dass Sie das Quellgerät im Ziel angeben und umgekehrt, könnten Sie alle Ihre Daten verlieren.
- Um mit dem unten angegebenen dd-Befehl von Festplatte zu Festplatte zu kopieren, können Sie mit der Synchronisierungsoption alles mithilfe synchronisierter E/A kopieren.
# dd if=/dev/sda of=/dev/sdb conv=noerror, sync>
# dd if=/dev/sda of=/dev/sdb>
# dd if=/dev/hda1 of=~/partition.img>So erstellen Sie ein Image einer Festplatte: Anstatt ein Backup der Festplatte zu erstellen, können Sie eine Image-Datei der Festplatte erstellen und diese auf anderen Speichergeräten speichern. Die Sicherung Ihrer Daten auf einem Disk-Image bietet viele Vorteile, einer davon ist die Benutzerfreundlichkeit. Diese Methode ist in der Regel schneller als andere Arten von Backups und ermöglicht Ihnen die schnelle Wiederherstellung von Daten nach einer unerwarteten Katastrophe. Sie erstellt das Image einer Festplatte /dev/hda.
# dd if=/dev/hda of=~/hdadisk.img>So stellen Sie das Festplatten-Image wieder her: Um eine Festplatte mit der Image-Datei einer anderen Festplatte wiederherzustellen, kann der folgende dd-Befehl verwendet werden
# dd if=hdadisk.img of=/dev/hdb>
Die Bilddatei hdadisk.img ist das Bild von /dev/hda, daher stellt der obige Befehl das Bild von /dev/hda in /dev/hdb wieder her. So erstellen Sie ein CD-ROM-Backup: Mit dem Befehl dd können Sie eine ISO-Datei aus einer Quelldatei erstellen. Wir können also die CD einlegen und den Befehl dd eingeben, um eine ISO-Datei des CD-Inhalts zu erstellen.
# dd if=/dev/cdrom of=tgsservice.iso bs=2048>
Der Befehl dd liest einen Eingabeblock, verarbeitet ihn und schreibt ihn in eine Ausgabedatei. Sie können die Blockgröße für die Eingabe- und Ausgabedatei angeben. Im obigen dd-Befehlsbeispiel ist der Parameter bs Gibt die Blockgröße sowohl für die Eingabe- als auch für die Ausgabedatei an. Also dd verwendet 2048 Byte als Blockgröße im obigen Befehl.
Verweise :