Einführung
- 1286
- 81
- Susanne Stoutjesdijk
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…