Zum Inhalt springen

Dd: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
 
(139 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"
|-
|  | '''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.
|-
|-
! Schalter !! Bedeutung
|}
 
=== 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"
|-
|-
|if=||Steht für Input File, also die Quelle
| | '''ascii'''
| | von EBCDIC in ASCII.
|-
|-
|of=||Steht für Output File, also das Ziel
| | '''ebcdic'''
| | von ASCII in EBCDIC.
|-
|-
|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.
| | '''ibm'''
| | von ASCII in alternatives EBCDIC.
|-
|-
|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
| | '''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 ===
 
<noinclude>


==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