Der Befehl dd ist ein vielseitiges und leistungsstarkes Dienstprogramm zum Konvertieren und Kopieren von Daten. Er arbeitet, indem er von einer Eingabedatei oder einem Datenstrom liest und in eine Ausgabedatei oder einen Datenstrom schreibt, was ihn zu einem unverzichtbaren dd tool für viele Systemadministrationsaufgaben macht.
Die dd-Befehlsstruktur verstehen
Im Kern kopiert dd Daten Byte für Byte. Betrachten Sie den folgenden Befehl:
dd if=/home/pete/backup.img of=/dev/sdb bs=1024
Dieser Befehl kopiert den Inhalt der Datei backup.img auf das Blockgerät /dev/sdb. Er führt diese Operation durch, indem er die Daten in Blöcken von 1024 Bytes kopiert, bis die gesamte Eingabedatei gelesen wurde.
Wesentliche dd-Optionen
Das Verhalten des dd-Befehls wird durch mehrere Schlüsseloptionen gesteuert:
if=file: Gibt die Eingabedatei an.ddliest von dieser Datei anstelle der Standardeingabe.of=file: Gibt die Ausgabedatei an.ddschreibt in diese Datei anstelle der Standardausgabe.bs=bytes: Legt die Blockgröße fest.ddliest und schreibt jeweils diese Anzahl von Bytes. Sie können Suffixe für größere Einheiten verwenden, wie z. B.kfür Kilobytes (1024 Bytes),Mfür Megabytes undGfür Gigabytes. Zum Beispielbs=1M.count=number: Kopiert nur diese angegebene Anzahl von Blöcken.
Verwendung von bs und count zusammen
Die Option count ist nützlich, wenn Sie eine bestimmte Datenmenge kopieren müssen. Die insgesamt kopierte Datenmenge ergibt sich aus bs multipliziert mit count. Wenn Sie beispielsweise den folgenden Befehl für eine 10M-Datei ausführen:
dd if=/home/pete/backup.img of=/dev/sdb bs=1M count=2
Obwohl backup.img 10M groß ist, weist dieser Befehl dd an, 2 Blöcke zu je 1M Größe zu kopieren. Infolgedessen werden nur 2M Daten kopiert, was zu einer unvollständigen Übertragung führt. Obwohl count in bestimmten Szenarien wertvoll ist, können Sie es oft weglassen, wenn Ihr Ziel darin besteht, eine ganze Datei zu kopieren. Die Optimierung von bs kann die Übertragungsgeschwindigkeiten erheblich verbessern, aber die Standardeinstellungen sind oft ausreichend.
Die Macht und Gefahr von dd
Der Befehl dd linux ist extrem leistungsfähig. Sie können ihn verwenden, um Backups ganzer Festplatten zu erstellen, Festplatten-Images wiederherzustellen und Daten sicher zu löschen. Diese Macht birgt jedoch ein Risiko. Ein kleiner Fehler, wie das Vertauschen der Werte für if und of, kann zu irreversiblen Datenverlusten führen. Überprüfen Sie Ihre Befehle immer sorgfältig, bevor Sie sie ausführen, insbesondere wenn Sie auf ein Gerät wie /dev/sda schreiben.