Zum Inhalt springen

Dd (Unix)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 13. April 2007 um 22:12 Uhr durch 84.56.227.246 (Diskussion) (K. vorlagen-update). Sie kann sich erheblich von der aktuellen Version unterscheiden.

dd ist ein Unix-Befehl, der zum Umleiten von Datenströmen dient.

Hintergrund

dd dient zum Umleiten von Datenströmen. Der Name sollte früher Copy and Convert bedeuten, das Programmkürzel cc war aber schon an den C-Compiler vergeben. Daher kam es zu dd, als Kürzel für disk dump.

dd unterscheidet sich stark von dem Unix-Kopierprogramm cp. Während cp mit Dateien umgeht und diese kopiert kann dd ganze Datenströme umleiten. So können ganze Partitionen oder Festplatten Byte für Byte kopiert werden. Es werden also nicht nur die existierenden Dateien überspielt sondern ein genaues Abbild erstellt. Daher ist dd gerade in der IT-Forensik unerlässlich.

Benutzung

Die Syntax von dd ist:

dd [Operand]...Convert the file according to a comma-separated list of keywords.
dd OPTION

Operanden

if=Datei

Der Datenstrom, der umgeleitet werden soll. Das kann eine Datei, aber auch eine Festplatte oder ein anderes Gerät sein. So wird zur Überschreibung einer Festplatte mit Zufallszahlen of if=/dev/random angegeben. Wird if weggelassen liest dd von der Standardeingabe.

of=Datei

Die Datei, auf die geschrieben werden soll. Dies kann wieder eine Datei oder ein Gerät sein. Wird of weggelassen schreibt dd auf die Standardausgabe.

ibs=Bytes

Eingabe-Blockgröße (input block size), gibt an, wie viele Bytes auf ein Mal gelesen werden sollen.

obs=Bytes

Ausgabe-Blockgröße (output block size), gibt an, wie viele Bytes auf ein Mal geschrieben werden sollen.

bs=bytes

Kurzschreibweise für ibs=bytes obs=bytes. Der Standardwert bei Nichtangabe ist 512 Bytes.

count=Blocks

Angabe, um nur eine begrenzte Menge Blöcke zu kopieren.

skip=Blocks

Angabe, um eine Anzahl Blocks zu überspringen.

seek=blocks

Überspringt diese Anzahl Blöcke beim schreiben auf die Ausgabe.

conv=Schlüsselwörter

Wandelt die Datei entsprechend einer kommagetrennten Liste von Schlüsselwörtern um.

cbs=Bytes

Umwandlungs-Blockgröße (convert block size): Größe der Blöcke zum Umwandeln auf ein Mal.

Beispiele

Einige Beispiele zum Verdeutlichen der Funktionalität.

dd if=/dev/urandom of=/dev/hda
Überschreibt die Festplatte mit Pseudozufallszahlen
dd if=/dev/hda of=/dev/hdb
Kopiert eine gesamte Festplatte auf eine andere
dd if=/dev/hda3 of=./hda3.img
Erstellt ein Image der Festplattenpartition