Linux DD -Befehl

Linux DD -Befehl
"DD" ist ein Linux -CLI -Werkzeug. Jetzt ist die aktuelle Version von „DD“ ein Teil der GNU CoreUtils, die jedes einzelne Unix/Linux -System bezieht. Der Hauptzweck dieses Tools besteht darin, Dateien zu konvertieren und zu kopieren. Es ist jedoch ganz anders als bei anderen Dateikopierwerkzeugen wie „CP“.

DD -Funktionen

"DD" kann für verschiedene Zwecke verwendet werden:

  • Mit „DD“ ist es möglich, direkt von/oder zu verschiedenen Dateien zu lesen und/oder zu schreiben, sofern die Funktion bereits in den angesehenen Treibern implementiert ist.
  • Es ist super nützlich für Zwecke wie das Sichern des Startsektors, das Erhalten von Zufallsdaten usw.
  • Datenkonvertierung beispielsweise die Konvertierung von ASCII in Ebcdic -Codierung.

DD -Nutzung

Hier sind einige der häufigsten und interessantesten Verwendung von „DD“. Natürlich ist „DD“ weitaus fähiger als diese Dinge. Wenn Sie interessiert sind, empfehle ich immer, andere ausführliche Ressourcen auf „DD“ zu überprüfen,.

Standort

welches dd

Wie die Ausgabe anzeigt, startet sie bei der Ausführung von „DD“ von „/usr/bin/dd“ von "/usr/bin/dd".

Grundnutzung

Hier ist die Struktur, der „DD“ folgt.

dd if = von =

Lassen Sie uns beispielsweise eine Datei mit zufälligen Daten erstellen. Es gibt einige integrierte spezielle Dateien unter Linux, die als normale Dateien wie „/dev/Zero“ angezeigt werden, die einen kontinuierlichen Strom von Null, „/dev/random“ erzeugen, der kontinuierliche Zufallsdaten erzeugt.

dd if =/dev/urandom von = ~/desktop/random.txt bs = 1m count = 5

Die allerersten Optionen sind selbsterklärend. Es bedeutet, "/dev/urandom" als Datenquelle und "~/Desktop/Random" zu verwenden.txt ”als Ziel. Was sind die anderen Optionen?

Hier steht „BS“ 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 besagt der Wert „1M“, dass die Blockgröße 1 Megabyte beträgt.

"Count" entscheidet über die Anzahl der zu geschriebenen Blöcke. Wenn nicht behoben, setzt „DD“ den Schreibvorgang fort. In diesem Fall wird „/dev/urandom“ weiterhin unendlich Daten generieren, sodass diese Option in diesem Beispiel von größter Bedeutung war.

Datensicherung

Mit dieser Methode kann „DD“ verwendet werden, um die Daten eines gesamten Laufwerks abzugeben! Alles, was Sie brauchen, ist das Laufwerk als Quelle zu sagen.

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 werden soll, also werden die Dinge nicht funktionieren.

"DD" weiß nur, wie man mit Dateien funktioniert. Wenn Sie also ein Verzeichnis unterstützen müssen, archivieren Sie es zuerst TAR und übertragen Sie es mit „DD“ auf eine Datei.

TAR CVJF Demo.Teer.XZ Demodir/
dd if = Demo.Teer.xz von = ~/desktop/backup.img

Im nächsten Beispiel werden wir eine sehr empfindliche Operation durchführen: Sichern Sie die MBR auf! Wenn Ihr System nun MBR (Master -Boot -Datensatz) verwendet, befindet es sich in den ersten 512 Bytes der Systemdiskette: 466 Bytes für den Bootloader, andere für die Partitionstabelle.

Führen Sie diesen Befehl aus, um den MBR -Datensatz zu sichern.

dd if =/dev/sda von = ~/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 alle anderen Tools. Sie müssen die Sicherungsdatei in einem ähnlichen Ordner/Partition/Gerät neu schreiben.

Zum Beispiel habe ich dieses „Backup“.IMG ”-Datei mit der Demo„ 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 an eine Datei schreiben. "DD" ist nicht gut mit Verzeichnissen, denken Sie daran?

Wenn „DD“ verwendet würde, um eine Sicherung einer Partition zu erstellen, würde das Wiederherstellen des folgenden Befehls erforderlich sein.

dd if = von =

Zum Beispiel wie wäre es mit der Wiederherstellung des MBR, den wir früher gesichert haben?

dd if = mbr.IMG von =/dev/sda

Optionen "DD"

Irgendwann in diesem Leitfaden haben Sie einige "DD" -Optionen wie "BS" und "Count" gesehen, richtig? Nun, es gibt mehr von ihnen. Hier ist eine Auswahlliste darüber, was sie sind und wie sie verwendet werden können.

  • OBS: Bestimmt die Größe der Daten, die gleichzeitig geschrieben werden sollen. Der Standardwert beträgt 512 Bytes.
  • CBS: Bestimmt die Größe der Daten, die jeweils konvertiert werden sollen.
  • IBS: Bestimmt die Größe der Daten, die jeweils gelesen werden sollen.
  • Zählen: Kopieren Sie nur N -Blöcke
  • Suchen: Überspringen Sie N -Blöcke zu Beginn der Ausgabe
  • Überspringen: Überspringen Sie N -Blöcke zu Beginn der Eingabe
conv = ascii: konvertiert die Dateieingabe von Ebcdic in ASCII
conv = eBcdic: Konvertiert die Dateieingabe von ASCII in Ebcdic
conv = ibm: Konvertiert die Dateieingabe von ASCII in alternative Ebcdic
Conv = Lase: Konvertiert die Dateieingabe von Großbuchstaben in Kleinbuchstaben
Conv = Ucase: Konvertiert die Dateieingabe von Kleinbuchstaben in Großbuchstaben
Conv = Swab: Tauschen Sie jedes Eingangspaar aus

Zusatzoptionen:

  • Nocreat: Erstellen Sie die Ausgabedatei nicht
  • NOTRUC: Die Ausgabedatei nicht verkürzen
  • NoError: Setzen Sie den Betrieb auch nach dem Fehler fort
  • fdatasync: Schreiben Sie Daten in den physischen Speicher vor dem Vorgang in den physischen Speicherplatz
  • FSYNC: Ähnlich wie bei Fdatasync, schreibt aber auch die Metadaten
  • IFLAG: Optimieren Sie den Vorgang basierend auf verschiedenen Flaggen. Zu den verfügbaren Flags gehören: Anhängen, um Daten an die Ausgabe anzuhängen

Zusatzoptionen:

  • Verzeichnis: Ein Verzeichnis wird an der Operation nicht bestehen
  • DSYNC: Synchronisierte E/A für Daten
  • Synchronisation: Ähnlich wie bei DSYNC, enthält aber Metadaten
  • Nocache: Anfragen zum Ablegen des Cache.
  • Nofollow: Befolgen Sie keine Symlink

Zusatzoptionen:

  • count_bytes: ähnlich wie "count = n"
  • such_bytes: ähnlich wie "such = n"
  • Skip_Bytes: Ähnlich wie "slip = 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 von = Demo1.txt bs = 10 count = 100 conv = Ebcdic
iflag = append, nocache, nofollow, synchronisieren

Abschließende Gedanken

Der Workflow von „DD“ ist ziemlich einfach. Damit „DD“ wirklich glänzen, liegt es jedoch an Ihnen. Es gibt unzählige Möglichkeiten, wie kreative Möglichkeiten „DD“ verwendet werden können, um clevere Interaktionen durchzuführen.

Ausführliche Informationen zu „DD“ und all seinen Optionen finden Sie auf der Seite des Mannes und der Info.

Mann dd