„dd“ ist ein Linux-CLI-Tool. Jetzt ist die aktuelle Version von „dd“ Teil der GNU-Coreutils, die jedes einzelne UNIX/Linux-System bietet. Der Hauptzweck dieses Tools ist das Konvertieren und Kopieren von Dateien. Es ist jedoch ganz anders als andere Tools zum Kopieren von Dateien wie "cp".
dd-Funktionen „dd“ kann für verschiedene Zwecke verwendet werden:
Mit „dd“ ist es möglich, direkt aus/in verschiedene Dateien zu lesen und/oder zu schreiben, sofern die Funktion bereits in den jeweiligen Treibern implementiert ist. Es ist sehr nützlich für Zwecke wie das Sichern des Bootsektors, das Abrufen von Zufallsdaten usw. Datenkonvertierung, zum Beispiel Konvertierung von ASCII in EBCDIC-Codierung. dd-Nutzung Hier sind einige der häufigsten und interessantesten Verwendungen von „dd“. Natürlich ist „dd“ weitaus leistungsfähiger als diese Dinge. Wenn Sie interessiert sind, empfehle ich immer, sich andere ausführliche Ressourcen zu "dd" anzusehen.
Ort
welches dd
Wie die Ausgabe anzeigt, wird jedes Mal, wenn „dd“ ausgeführt wird, von „/usr/bin/dd“ gestartet.
Grundlegende Verwendung Hier ist die Struktur, der „dd“ folgt.
dd if=
von= Lassen Sie uns zum Beispiel eine Datei mit zufälligen Daten erstellen. Es gibt einige eingebaute spezielle Dateien in Linux, die als normale Dateien erscheinen, wie „/dev/zero“, das einen kontinuierlichen NULL-Stream erzeugt, „/dev/random“, das kontinuierliche Zufallsdaten erzeugt.
dd if=/dev/urandom of=~/Desktop/random.txt bs=1M count=5
Die allerersten Optionen sind selbsterklärend. Es bedeutet „/dev/urandom“ als Datenquelle und „~/Desktop/random.txt“ als Ziel. Welche anderen Möglichkeiten gibt es??
„bs“ steht hier für „Blockgröße“. Wenn dd Daten schreibt, schreibt es in Blöcken. Mit dieser Option kann die Blockgröße definiert werden. In diesem Fall sagt der Wert „1M“ aus, dass die Blockgröße 1 Megabyte beträgt.
„count“ bestimmt die Anzahl der zu schreibenden Blöcke. Wenn nicht festgelegt, setzt „dd“ den Schreibvorgang fort, bis der Eingabestrom endet. In diesem Fall wird „/dev/urandom“ unendlich weiter Daten generieren, daher war diese Option in diesem Beispiel von größter Bedeutung.
Datensicherung Mit dieser Methode kann „dd“ verwendet werden, um die Daten eines gesamten Laufwerks zu sichern! Sie müssen nur das Laufwerk als Quelle angeben.
dd if= von=
Wenn Sie solche Aktionen durchführen, stellen Sie sicher, dass Ihre Quelle kein Verzeichnis ist. „dd“ hat keine Ahnung, wie ein Verzeichnis verarbeitet wird, daher wird es nicht funktionieren.
„dd“ kann nur mit Dateien arbeiten. Wenn Sie also ein Verzeichnis sichern müssen, verwenden Sie zuerst tar, um es zu archivieren, und verwenden Sie dann "dd", um es auf eine Datei zu übertragen.
tar cvJf-Demo.Teer.xz DemoDir/
dd if=demo.Teer.xz von=~/Desktop/Backup.img
Im nächsten Beispiel führen wir einen sehr sensiblen Vorgang durch: Sichern des MBR! Wenn Ihr System nun MBR (Master Boot Record) verwendet, befindet es sich in den ersten 512 Byte der Systemfestplatte: 466 Byte für den Bootloader, andere für die Partitionstabelle.
Führen Sie diesen Befehl aus, um den MBR-Eintrag zu sichern.
dd if=/dev/sda of=~/Desktop/mbr.img bs=512 count=1
Datenwiederherstellung Für jede Sicherung ist die Art der Wiederherstellung der Daten erforderlich. Im Fall von „dd“ ist der Wiederherstellungsprozess etwas anders als bei allen anderen Tools. Sie müssen die Sicherungsdatei auf einen ähnlichen Ordner/eine ähnliche Partition/ein ähnliches Gerät schreiben.
Ich habe zum Beispiel dieses „Backup“.img“-Datei mit der „demo.Teer.xz“-Datei. Um es zu extrahieren, habe ich den folgenden Befehl verwendet.
dd if=backup.img von=demo.Teer.xz
Stellen Sie erneut sicher, dass Sie die Ausgabe in eine Datei schreiben. „dd“ ist nicht gut mit Verzeichnissen, denk dran?
Wenn „dd“ verwendet wurde, um ein Backup einer Partition zu erstellen, würde die Wiederherstellung den folgenden Befehl erfordern:.
dd if= von=
Wie wäre es beispielsweise mit der Wiederherstellung des MBR, den wir zuvor gesichert haben??
dd if=mbr.Bild von=/dev/sda
„dd“-Optionen Irgendwann in diesem Handbuch waren Sie mit einigen „dd“-Optionen wie „bs“ und „count“ konfrontiert, richtig? Naja, davon gibt es noch mehr. Hier ist eine kurze Liste, was sie sind und wie man sie verwendet.
obs: Bestimmt die Größe der gleichzeitig zu schreibenden Daten. Der Standardwert ist 512 Byte.
cbs: Bestimmt die Größe der gleichzeitig zu konvertierenden Daten.
ibs: Bestimmt die Größe der jeweils zu lesenden Daten. count: Nur N Blöcke kopieren
seek: Überspringe N Blöcke am Anfang der Ausgabe
skip: N Blöcke am Anfang der Eingabe überspringen
conv=ascii: Konvertiert die Dateieingabe von EBCDIC in ASCII
conv=ebcdic: Konvertiert die Dateieingabe von ASCII nach EBCDIC
conv=ibm: konvertiert die Dateieingabe von ASCII in alternatives EBCDIC
conv=lcase: konvertiert die Dateieingabe von Großbuchstaben in Kleinbuchstaben
conv=ucase: konvertiert die Dateieingabe von Kleinbuchstaben in Großbuchstaben
conv=swab: Tausche jedes Eingabepaar
Zusätzliche Optionen:
nocreat: Die Ausgabedatei nicht erstellen notruc: Die Ausgabedatei nicht abschneiden noerror: Den Vorgang fortsetzen, auch wenn ein Fehler aufgetreten ist fdatasync: Daten in den physischen Speicher schreiben, bevor der Prozess abgeschlossen ist fsync: Ähnlich wie fdatasync, schreibt aber auch die Metadaten iflag: Optimieren Sie die Operation basierend auf verschiedenen Flags. Zu den verfügbaren Flags gehören: anhängen an Daten an die Ausgabe anhängen
Zusätzliche Optionen:
Verzeichnis: Wenn Sie auf ein Verzeichnis zugreifen, schlägt der Vorgang fehl dsync: Synchronisierte E/A für Daten sync: Ähnlich wie dsync, enthält aber Metadaten nocache: Anfragen zum Löschen des Caches. nofollow: Folge keinem Symlink
Zusätzliche Optionen:
count_bytes: Ähnlich wie „count=N“ seek_bytes: Ähnlich wie „seek=N“ skip_bytes: Ähnlich wie „skip=N“ Wie Sie gesehen haben, ist es möglich, mehrere Flags und Optionen in einem einzigen „dd“-Befehl zu stapeln, um das Betriebsverhalten zu optimieren.
dd if=demo.txt of=demo1.txt bs=10 count=100 conv=ebcdic iflag=append,nocache,nofollow,sync
Abschließende Gedanken Der Workflow von „dd“ ist ziemlich einfach. Damit „dd“ jedoch wirklich glänzen kann, liegt es an Ihnen. Es gibt unzählige Möglichkeiten, wie „dd“ auf kreative Weise verwendet werden kann, um clevere Interaktionen durchzuführen.
Ausführliche Informationen zu „dd“ und all seinen Optionen finden Sie auf der man and info page.
Mann dd