Zum Inhalt springen

Dd: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(138 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''dd''' (disk dump) erstellt bit-genaue Kopien von Festplatten, Partitionen oder Dateien. Bit-genau bedeutet, dass Bit-für-Bit bzw. Byte-für-Byte ausgelesen und beschrieben wird, unabhängig von dessen Inhalt und Belegung.
'''dd''' - [[Datei]] blockweise lesen und schreiben


=Übersicht=
== Beschreibung ==
dd [Option] Inputfile Outputfile
'''d'''isk '''d'''ump (dd) erstellt bit-genaue Kopien von Dateien
* [[Datei]]en
* [[Datenträger]]
* [[Partition]]


=Optionen=
; Bit-Genau
Bit-für-Bit ausgelesen und schreiben
* unabhängig von Inhalt oder Belegung


{| class="wikitable"
; Flexiebles Werkzeug
* liest ab einem Startpunkt eine bestimmte Menge ''roher'' Daten
* diese werden 1:1 in das Ziel (Datei/Gerät) geschieben
 
; Konvertierung
''dd'' kann Daten konvertieren
 
; Installation
'''dd''' ist Teil des [[Pakets]] [[Coreutils]]
 
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1" line copy>
dd [Option] if=Inputfile of=Outputfile
</syntaxhighlight>
 
=== Optionen ===
{| class="wikitable sortable options big"
|-
|-
! Schalter !! Bedeutung
|  | '''bs=bytes'''
|  | Erzwingen von ibs=bytes und obs=bytes.
|-
|-
|if=||Steht für Input File, also die Quelle
| | '''cbs=bytes'''
| | Konvertieren von bytes Bytes auf einmal.
|-
|-
|of=||Steht für Output File, also das Ziel
| | '''conv=schlüsselwörter'''
| | Konvertieren der Datei gemäß der kommagetrennten Liste von Schlüsselwörtern.
|-
|-
|count=||Legt fest wie viele der mit BS festgelegten Blöcke kopiert werden sollen. Z.B.: „count=10“ kopiert genau 10 Blöcker der mit „bs“ angegebenen Größe.
| | '''count=blöcke'''
| | Nur blöcke Eingabeblöcke kopieren.
|-
|-
|bs=|| Steht für Block Size. Z.B.: „bs=1M“ beutet das die Blockgröße genau 1 Megabyte ist. Angaben können in K (Kilobyte), M (Megabyte), G (Gigabyte), etc… angegeben werden
| | '''ibs=bytes'''
| | Lesen von bytes Bytes auf einmal.
|-
|  | '''if=datei'''
|  | Lesen aus datei statt von der Standardeingabe.
|-
|  | '''obs=bytes'''
|  | Schreiben von bytes Bytes zur Zeit.
|-
|  | '''of=datei'''
|  | Schreiben in datei statt in die Standardausgabe.
|-
|  | '''seek=blöcke'''
|  | Überspringen von blöcke Blöcken der Größe von obs beim Beginn der Ausgabe.
|-
|  | '''skip=blöcke'''
|  | Überspringen von blöcke Blöcken der Größe von ibs beim Beginn der Eingabe.
|-
|}
 
=== Enheiten ===
<!--
''bytes'' können folgende multiplikativen Endungen tragen:
xM M
c 1
w 2
b 512, kD 1000, k 1024. MD 1.000.000, M 1.048.576, GD 1.000.000, G 1.073.741.824, und so weiter für T, P, E, Z, Y.
-->
 
=== Schlüsselwörter ===
{| class="wikitable sortable options big"
|-
|  | '''ascii'''
|  | von EBCDIC in ASCII.
|-
|  | '''ebcdic'''
|  | von ASCII in EBCDIC.
|-
|  | '''ibm'''
|  | von ASCII in alternatives EBCDIC.
|-
|  | '''block'''
|  | Auffüllen von mit Zeilenumbrüchen terminierten Datensätzen durch Leerzeichen bis zur cbs-Größe.
|-
|  | '''unblock'''
|  | Ersetzen von nachlaufenden Leerzeichen in Datensätzen von cbs-Größe mit Zeilenumbrüchen.
|-
|  | '''lcase'''
|  | Ändern von Großbuchstaben in Kleinbuchstaben.
|-
|  | '''notrunc'''
|  | Kein Abschneiden der Ausgabedatei.
|-
|  | '''ucase'''
|  | Ändern von Kleinbuchstaben in Großbuchstaben.
|-
|  | '''swab'''
|  | Jedes Paar von Eingabebytes vertauschen.
|-
|  | '''noerror'''
|  | Nach Lesefehlern fortfahren.
|-
|  | '''sync'''
|  | Jeden Eingabeblock mit NULLen zur ibs-Größe auffüllen; wenn mit block oder unblock benutzt, stattdessen mit Leerzeichen.
 
|-
|-
|}
|}


=Anwendungen=
=== Argumente ===
=== Umgebung ===
=== Rückgabewert ===


==Synchrones Schreiben==
<noinclude>
Um die Geschwindigkeiten eines Laufwerkes zu testen, sollte der Cache des Betriebssystems abgeschaltet werden.
Lese-Cache: iflag=sync
Schreib-Cache: oflag=sync


==Backup eines MBR erstellen==
dd if=/dev/hda bs=512 count=1 of=/tmp/mbr.bin


==Komprimiertes Archiv einer Partition erstellen==
</syntaxhighlight>
dd if=/dev/hda1 | gzip > /tmp/image.gz
zurückspielen
gunzip -c /tmp/image.gz | dd of=/dev/hda1


==Festplatte klonen==
== Anhang ==
Mit folgendem Befehl, kann man eine Festplatte (hda) auf eine andere Festplatte klonen. Hierbei gibt man die Blocksize an um eine bessere Performance zu erreichen.
=== Siehe auch ===
<div style="column-count:2">
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
</div>
----
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}


ACHTUNG: Die Festplatten sollten nicht im Dateisystem gemountet sein. Am besten eine Live CD verwenden.
=== Dokumentation ===
dd if=/dev/hda of=/dev/hdb bs=2048
; Man-Page
; Info-Page


==Fortschritt anzeigen==
=== Links ===
dd status=progress if=/dev/hda of=/dev/hdb bs=2048
==== Projekt ====
==== Weblinks ====


==Datenträger mit zufälliger Zeichenfolge überschreiben==
[[Kategorie:Linux/Storage/Tools]]
dd if=/dev/urandom of=/dev/sda
[[Kategorie:Linux/Datei/Ausgabe]]
[[Kategorie:Linux/Backup]]
[[Kategorie:Linux/Befehl]]
[[Kategorie:Coreutils]]


==Datei mit fester Größe erstellen==
{{DEFAULTSORT:dd}}
dd if=/dev/zero of=/mnt/name bs=1M count=500
{{DISPLAYTITLE:dd}}


[[Category:Linux:Dateisystem]]
</noinclude>
[[Category:Sicherheit:Backup]]

Aktuelle Version vom 3. September 2025, 12:21 Uhr

dd - Datei blockweise lesen und schreiben

Beschreibung

disk dump (dd) erstellt bit-genaue Kopien von Dateien

Bit-Genau

Bit-für-Bit ausgelesen und schreiben

  • unabhängig von Inhalt oder Belegung
Flexiebles Werkzeug
  • liest ab einem Startpunkt eine bestimmte Menge roher Daten
  • diese werden 1:1 in das Ziel (Datei/Gerät) geschieben
Konvertierung

dd kann Daten konvertieren

Installation

dd ist Teil des Pakets Coreutils

Aufruf

dd [Option] if=Inputfile of=Outputfile

Optionen

bs=bytes Erzwingen von ibs=bytes und obs=bytes.
cbs=bytes Konvertieren von bytes Bytes auf einmal.
conv=schlüsselwörter Konvertieren der Datei gemäß der kommagetrennten Liste von Schlüsselwörtern.
count=blöcke Nur blöcke Eingabeblöcke kopieren.
ibs=bytes Lesen von bytes Bytes auf einmal.
if=datei Lesen aus datei statt von der Standardeingabe.
obs=bytes Schreiben von bytes Bytes zur Zeit.
of=datei Schreiben in datei statt in die Standardausgabe.
seek=blöcke Überspringen von blöcke Blöcken der Größe von obs beim Beginn der Ausgabe.
skip=blöcke Überspringen von blöcke Blöcken der Größe von ibs beim Beginn der Eingabe.

Enheiten

Schlüsselwörter

ascii von EBCDIC in ASCII.
ebcdic von ASCII in EBCDIC.
ibm von ASCII in alternatives EBCDIC.
block Auffüllen von mit Zeilenumbrüchen terminierten Datensätzen durch Leerzeichen bis zur cbs-Größe.
unblock Ersetzen von nachlaufenden Leerzeichen in Datensätzen von cbs-Größe mit Zeilenumbrüchen.
lcase Ändern von Großbuchstaben in Kleinbuchstaben.
notrunc Kein Abschneiden der Ausgabedatei.
ucase Ändern von Kleinbuchstaben in Großbuchstaben.
swab Jedes Paar von Eingabebytes vertauschen.
noerror Nach Lesefehlern fortfahren.
sync Jeden Eingabeblock mit NULLen zur ibs-Größe auffüllen; wenn mit block oder unblock benutzt, stattdessen mit Leerzeichen.

Argumente

Umgebung

Rückgabewert

</syntaxhighlight>

Anhang

Siehe auch


Dokumentation

Man-Page
Info-Page

Links

Projekt

Weblinks