Zum Inhalt springen

Dd: Unterschied zwischen den Versionen

Aus Foxwiki
Wissamabdallah (Diskussion | Beiträge)
 
(151 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Bezeichnung=
'''dd''' - [[Datei]] blockweise lesen und schreiben
'''dd''' (disk dump): Damit können bit-genaue Kopien von Festplatten, Partitionen oder Dateien erstellt werden. Bit-genau bedeutet, dass Bit-für-Bit bzw. Byte-für-Byte ausgelesen und beschrieben wird, unabhängig von dessen Inhalt und Belegung.


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


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


=Optionen=
; Flexiebles Werkzeug
* liest ab einem Startpunkt eine bestimmte Menge ''roher'' Daten
* diese werden 1:1 in das Ziel (Datei/Gerät) geschieben


{| class="wikitable"
; 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.
|-
|-
! Schalter !! Bedeutung
|  | '''if=datei'''
|  | Lesen aus datei statt von der Standardeingabe.
|-
|-
|if=||Steht für Input File, also die Quelle
| | '''obs=bytes'''
| | Schreiben von bytes Bytes zur Zeit.
|-
|-
|of=||Steht für Output File, also das Ziel
| | '''of=datei'''
| | Schreiben in datei statt in die Standardausgabe.
|-
|-
|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.
| | '''seek=blöcke'''
| | Überspringen von blöcke Blöcken der Größe von obs beim Beginn der Ausgabe.
|-
|-
|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
| | '''skip=blöcke'''
| | Überspringen von blöcke Blöcken der Größe von ibs beim Beginn der Eingabe.
|-
|-
|}
|}


=Beispiele=
=== Enheiten ===
MBR in ein Image auslesen
<!--
''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.
-->


dd if=/dev/hda bs=512 count=1 of=/tmp/mbr.bin
=== 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.


Komprimiertes Archiv einer Partition<br>
|-
 
|}
'''erstellen:'''
 
dd if=/dev/hda1 | gzip > /tmp/image.gz
'''zurückspielen:'''
 
gunzip -c /tmp/image.gz | dd of=/dev/hda1
'''Festplatte klonen'''
 
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.
 
ACHTUNG: Die Festplatten sollten nicht im Dateisystem gemountet sein!!! Am besten eine Live CD verwenden!!!
 
dd if=/dev/hda of=/dev/hdb bs=2048


Wenn man sich den Fortschritt anzeigen lassen will, so sucht man sich mit
=== Argumente ===
=== Umgebung ===
=== Rückgabewert ===


ps -Al
<noinclude>


die Prozess-ID von dd und gibt dann in einem anderen Konsolenfenster folgenden Befehl ein:


kill -SIGUSR1 PROZESS-ID-VON-DD
</syntaxhighlight>


Festplatte mit zufälliger Zeichenfolge überschreiben
== Anhang ==
=== Siehe auch ===
<div style="column-count:2">
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
</div>
----
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}


dd if=/dev/urandom of=/dev/hda
=== Dokumentation ===
; Man-Page
; Info-Page


=== Links ===
==== Projekt ====
==== Weblinks ====


[[Kategorie:Linux/Storage/Tools]]
[[Kategorie:Linux/Datei/Ausgabe]]
[[Kategorie:Linux/Backup]]
[[Kategorie:Linux/Befehl]]
[[Kategorie:Coreutils]]


{{DEFAULTSORT:dd}}
{{DISPLAYTITLE:dd}}


[[Category:Linuxbefehle]]
</noinclude>
[[Category:Linux]]
[[Category:Linux:LPIC:101]]

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