Einführung

Einführung

Was Sie lesen, ist nur die erste der vielen Artikel aus der Serie „Learning Linux Commands“. Warum sollten wir so etwas tun wollen?? Da es Ihnen nützlich ist, jede Option und eine mögliche Verwendung eines weit verbreiteten Befehls an einem Ort zu haben. Sie werden einige Optionen oder sogar einige Befehle finden, von denen Sie nicht einmal wussten. Wenn Sie keine Angst haben, ein Terminal zu öffnen und die Grundlagen der Verwendung eines Linux -Systems zu kennen, ist dieser Artikel genau das Richtige für Sie.

Warum DD?

Wir haben DD als der erste Anwärter in unserer Serie ausgewählt, weil es ein nützliches Tool ist, das viele Optionen hat, wie Sie sehen werden. Dies macht es fast zu einem der Schweizer Armeemmesser der Linux -Welt. Ja, dieser Begriff (Schweizer Armeemesser) wird mehr verwendet, als er von den Linux-orientierten Artikelsautoren sein sollte, sodass wir nicht die Gelegenheit geben konnten, ihn selbst zu nutzen.

Allgemeine Verwendung

Bevor wir anfangen, wollten wir Ihnen eine allgemeine Vorstellung davon geben, wie DD verwendet wird. Zunächst stammt der Name vom „Daten Duplikator“. Wir empfehlen daher zusätzliche Sorgfalt bei der Verwendung von DD, da ein Moment der Nachlässigkeit Sie wertvolle Daten kosten kann. Die allgemeine Syntax eines DD -Befehls ist

 # dd if = $ input_data von = $ output_data [Optionen]

Daten- und Ausgabedaten können Festplatten, Partitionen, Dateien, Geräte sein ... hauptsächlich alles, worauf Sie schreiben oder aus denen Sie lesen können. Wie Sie sehen werden, können Sie DD in einem vernetzten Kontext verwenden, um beispielsweise Datenströme in Ihrem LAN zu senden. Sie können nur den Eingangsteil in Ihrem DD -Befehl oder nur den Ausgangsbefehl haben, und Sie können in einigen Fällen sogar beide beseitigen. All dies wird in der folgenden Tabelle behandelt.



Beispiele

Lernen von Linux DD -Befehl mit Beispielen
Linux -Befehlssyntax Linux -Befehlsbeschreibung
Dateisysteme
dd if =/dev/urandom von =/dev/sda bs = 4k
Füllt das Laufwerk mit zufälligen Daten
dd if =/dev/sda von =/dev/sdb bs = 4096

Fahrt-zu-Drive-Duplikation

dd if =/dev/null von =/dev/sda bs = 4k
Reinigen Sie eine Festplatte (müssen möglicherweise wiederholt werden)
dd if = InputFile von =/dev/st0 bs = 32k conv = sync
Kopieren Sie von Datei zu Bandvorrichtung
dd if =/dev/st0 von = outfile bs = 32k conv = sync
Das obige, umgekehrt
dd if =/dev/sda | Hexdump -c | Grep [^00]
Überprüfen Sie, ob das Laufwerk wirklich auf Null gesetzt ist
dd if =/dev/urandom von =/home/$ user/riesige Datei \ bs = 4096
Füllt eine Partition aus (vorsichtig mit Systempartitionen!)
ls -l myfile -rw-r-R-- 6703104 Okt 31 18:25 Myfile DD if =/dev/urandom von = myfile bs = 6703104 count = 1
Krabbeln eine Datei (möglicherweise vor dem Löschen)
dd if =/dev/sda3 von =/dev/sdb3 bs = 4096 \ conv = Notrunc, NoError
Kopieren Sie eine Partition zu einer anderen Partition
dd if =/proc/fileSystems | Hexdump -c | weniger
Die verfügbaren Dateisysteme anzeigen
dd if =/proc/partitions | Hexdump -c | weniger
View Ventilble Partitions in KB an
dd if =/dev/sdb2 ibs = 4096 | Gzip> Partition.Bild.gz \ conv = noError
Erstellt ein Gziped -Bild der zweiten Partition
der zweiten Festplatte
dd bs = 10240 cbs = 80 conv = ascii, entsperren \ if =/dev/st0 von = ascii.aus
Kopieren Sie den Inhalt eines Bandlaufwerks in eine Datei, die konvertieren
von Ebcdic nach ASCII
dd if =/dev/st0 ibs = 1024 obs = 2048 von =/dev/st1
Kopieren Sie vom 1 -KB -Blockgerät auf 2 KB Block -Gerät
dd if =/dev/null von =/dev/null bs = 100m count = 100 100+0 Datensätze in 100+0 Aufzeichnungen 10485760000 Bytes (10 GB) kopiert, 5.62955 s, 1.9 GB/s
Kopieren Sie 10 GB Nullen in die Mülldose.
dd if =/dev/null von =/dev/sda bs = 512 count = 2 fdisk -s/dev/sda dd if =/dev/null von =/dev/sda seeee = \ (number_of_sektoren - 20) bs = 1k
GPT von der Festplatte löschen. Da GPT am Anfang Daten schreibt
Und am Ende der Fahrt danach
Von Anfang an müssen wir die Nummer herausfinden
von Sektoren (zweiter Befehl) dann die letzten 20 Sektoren löschen.
dd if =/home/$ user/bootimage.IMG von =/dev/sdc
Erstellen Sie bootfähiges USB -Laufwerk (hier als /dev /sdc angezeigt)
dd if =/dev/sda von =/dev/null bs = 1m
Ein guter Weg, um nach schlechten Blöcken zu suchen
Sicherung und systembedingte
dd if =/dev/sda von =/dev/fd0 bs = 512 count = 1
Kopiert den MBR zu einem Disketten
dd if =/dev/sda1 von =/dev/sdb1 bs = 4096
Fahrt-zu-Drive-Duplikation
dd if =/dev/sr0 von =/home/$ user/mycdimage.ISO \ bs = 2048 conv = noSync
Erstellen Sie ein Bild einer CD
Mount -o Loop/Home/$ User/MyCDimage.iso \/mnt/cdimages/
Mount sagte Bild vor Ort
dd if =/dev/sda von =/dev/sdb bs = 64k conv = sync
Nützlich, wenn Sie eine Festplatte durch eine andere identische Größe ersetzen
dd if =/dev/sda2 von =/home/$ user/hddimage1.Img \ bs = 1m count = 4430 dd if =/dev/sda2 von =/home/$ user/hddimage2.img \ bs = 1m count = 8860 […]
Erstellen Sie DVD -Bilder einer Partition (nützlich für die Unterstützung)
dd if =/$ location/hddimage1.IMG von =/dev/sda2 \ bs = 1m dd if =/$ location/hddimage2.IMG von =/dev/sda2 \ such = 4430 bs = 1m dd if =/$ location/hddimage3.IMG von =/dev/sda2 \ such = 8860 bs = 1m [und so weiter…]
Wiederherstellen Sie von der obigen Sicherung wieder her
dd if =/dev/null count = 1 bs = 1024 such = 1 von =/dev/sda6
Zerstöre den Superblock
dd if =/dev/null count = 1 bs = 4096 such = 0 von =/dev/sda5
Eine andere Möglichkeit, den Superblock zu zerstören
DD if =/home/$ user/misstrauisch.doc | Clamscan -
Datei auf Viren überprüfen (braucht Clamav)
DD if =/home/$ user/Binary -Datei | Hexdump -c | weniger
Schauen Sie sich den Inhalt einer binären Datei an (benötigt Hexdump)
dd if =/home/$ user/bigfile von =/dev/null dd if =/dev/null von =/home/$ user/bigFile \ bs = 1024 count = 1000000
Benchmarks Festplatte für Lese-/Schreibgeschwindigkeit
dd if =/dev/sda von =/dev/sda
Gibt älteren Festplatten neues Leben, die seit einiger Zeit nicht mehr genutzt wurden (Disk muss unmontiert sein)
dd if =/dev/mem | Saiten | grep 'string_to_search'
Untersuchung des Gedächtnisinhalts (menschlich-lesbar, das heißt)
dd if =/dev/fd0 von =/home/$ user/floppy.Bild \ bs = 2x80x18b conv = Notrunc
Kopieren Sie eine Diskette
dd if =/proc/kcore | Hexdump -c | weniger
Virtuelle Erinnerung anzeigen
dd if =/proc/fileSystems | Hexdump -c | weniger
Die verfügbaren Dateisysteme anzeigen
dd if =/proc/kallsyms | Hexdump -c | weniger
Ansicht geladene Module
dd if =/proc/interrupts | Hexdump -c | weniger
Interrupt -Tabelle anzeigen
dd if =/proc/UTTIME | Hexdump -c | weniger
Fahrzeit in Sekunden ansehen
dd if =/proc/partitions | Hexdump -c | weniger
View Ventilble Partitions in KB an
dd if =/proc/meminfo | Hexdump -c | weniger
Memstats anzeigen
dd if =/dev/urandom von =/home/$ user/myrandom \ bs = 100 count = 1
Erstellt eine 1 -KB -Datei mit zufälligem Kauderwelsch
dd if =/dev/mem von =/home/$ user/mem.bin \ bs = 1024
Erstellt ein Bild des tatsächlichen Zustands Ihres Systemspeichers
dd if =/home/$ user/myFile
Druckt die Datei zu stdout
dd if =/dev/sda2 bs = 16065 | Hexdump -c \ | grep 'text_to_search'
Suchen Sie eine ganze Partition nach einer Zeichenfolge; Auch wenn es gesichert ist,
Sie können eine LiveCD booten
DD if =/home/$ user/Datei.Bin Skip = 64K BS = 1 \ von =/home/$ user/konvafile.Behälter
Datei kopieren.Mülleimer zu Konvafile.Mülleimer überspringen die ersten 64 KB
dd if =/home/$ user/bootimage.IMG von =/dev/sdc
Erstellen Sie bootfähiges USB -Laufwerk (hier als /dev /sdc angezeigt)
dd if =/dev/mem bs = 1k überspringen = 768 count = 256 \ 2>/dev/null | Saiten -n 8
BIOS lesen.
dd bs = 1k if = Bildfile.NRG von = Bildfile.ISO Skip = 300k
Konvertieren Sie das Nero -Bild in das ISO -Standardbild.
Dies ist möglich, weil der einzige Unterschied zwischen
Die beiden sind ein 300 -KB -Header, der Nero zu einer Standard -ISO -Datei hinzufügt.
echo -n "Hallo vertikale Welt" | DD CBS = 1 \ conv = entsperren 2> /dev /null
Versuchen Sie es, es ist sicher. 🙂
dd if =/dev/sda1 | gzip -c | Split -b 2000m - \/mnt/hdc1/backup.img.gz
Erstellen Sie ein GZIP -Bild einer Partition mit Split
Katze/Mnt/HDC1/Backup.img.gz.* | gzip -dc | \ dd von =/dev/sda1
Stellen Sie die oberen Sicherung wieder her
dd if =/dev/null von = myimage bs = 1024 count = 10240
Erstellen Sie ein leeres Festplattenbild
dd ibs = 10 überspringen = 1
Erste 10 Bytes Stdin streifen
dd bs = 265b conv = noError if =/dev/st0 \ von =/tmp/bad.Band.Bild
Machen Sie Bild eines Bandantriebs mit schlechten Stellen
dd if =/dev/sda count = 1 | Hexdump -c
Sehen Sie sich Ihre MBR an
dd if =/dev/sda | NC -L 10001 NC $ SYSTEM_TO_BACKUP_IP 10001 | dd \ von = sysbackupsda.img
Fast -Netzwerk -Sicherung mit NetCAT
dd if =/dev/null von =/dev/sdx \ bs = 1024000 count = 1
Erste 10 MB der Partition klar
dd if =/dev/null von = tmpswap bs = 1k \ count = 1000000 CHMOD 600 TMPSWAP MKSWAP TMPSWAP SWAPON TMPSWAP
Erstellen Sie temporärer Tauschraum
dd if =/dev/sda von =/dev/null bs = 1024k \ count = 1024 1073741824 Bytes (1.1 GB) kopiert, 24.1684 s, 44.4 mb/s
Bestimmen Sie die sequentielle E/A -Geschwindigkeit Ihres Laufwerks. Lesen 1 GB Datei
dd if =/dev/random count = 1 2>/dev/null | OD -T u1 | \ awk 'print $ 2' | Kopf -1
Zufällige Zahl erzeugen
dd if =/dev/mem von = myram bs = 1024
Kopieren Sie den RAM -Speicher in eine Datei
dd if =/dev/sda bs = 512 count = 1 | OD -xa
Sehen Sie den Inhalt Ihres MBR im Hex- und ASCII -Format an
dd if =/my/old/mbr von =/dev/sda bs = 446 count = 1
Stellen Sie MBR wieder her, ohne die Aufzeichnung der Partitionstabelle zu stören
Das ist zwischen 447 und 511 Bytes
dd if =/dev/sda1 | Split -B 700m -SDA1 -Image
Erstellen Sie eine Partitionskopie und speichern Sie Bilder, wo maximal
Die Volumengröße beträgt 700 MB
Textmanipulation
ls -l | dd conv = uCase
Konvertieren Sie die Ausgabe eines Befehls in Großbuchstaben
Echo "Mein oberer Falltext" | dd conv = lase
Konvertieren Sie jeden Text in Kleinbuchstaben
dd if =/etc/passwd cbs = 132 conv = ebcdic von =/tmp/passwd.ebcdic
Konvertieren Sie die Systemkennwortdatei in EBCDIC-Format-Datei mit fester Länge
dd if = text.ASCII von = Text.ebcdic konv = ebcdic
Von ASCII in Ebcdic konvertieren
dd if = myfile von = myfile conv = uCase
Konvertieren Sie eine Datei in Großbuchstaben (einfacher SED oder TR -Ersatz)

Abschluss

Dies war nur ein kleiner Teil dessen, was DD tun kann, und wir hoffen, dass dieser Artikel es geschafft hat, die nützlichsten Beispiele für den alltäglichen Benutzer zu umfassen. Bevor Sie jedoch weiter gehen, empfehlen wir Ihnen, die Dokumentation Ihrer Festplatte zu lesen, nach Dingen wie LBA -Einschränkung zu suchen, und achten Sie bei der Verwendung von DD in einem Wurzelterminal besonders darauf.
Natürlich haben Sie bereits Backups, aber ein wenig zusätzliche Sorgfalt spart Ihnen Stunden unnötiger Arbeit.

Verwandte Linux -Tutorials:

  • Dinge zu installieren auf Ubuntu 20.04
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Dinge zu tun nach der Installation Ubuntu 22.04 Jammy Quallen…
  • Linux -Download
  • Dinge zu installieren auf Ubuntu 22.04
  • Ubuntu 20.04 Leitfaden
  • Installieren Sie Arch Linux in VMware Workstation
  • Wie man Kali Linux und Windows 10 Dual -Boot -Start hat
  • Linux -Befehle: Top 20 wichtigste Befehle, die Sie benötigen, um…