Linux dd-Befehl
Der Linux dd-Befehl wird verwendet, um Daten zu lesen, zu konvertieren und auszugeben.
dd kann Daten von der Standardeingabe oder einer Datei lesen, die Daten gemäß dem angegebenen Format konvertieren und dann in eine Datei, ein Gerät oder die Standardausgabe ausgeben.
Parameter description:
- if=Dateiname: Name der Eingabedatei, standardmäßig die Standardeingabe. Das heißt, die Quelldatei angeben.
- of=Dateiname: Name der Ausgabedatei, standardmäßig die Standardausgabe. Das heißt, die Zieldatei angeben.
- ibs=bytes: liest jeweils bytes Bytes ein, d. h., gibt eine Blockgröße von bytes Bytes an.
obs=bytes: gibt jeweils bytes Bytes aus, d. h., gibt eine Blockgröße von bytes Bytes an.
bs=bytes: setzt gleichzeitig die Ein-/Ausgabeblockgröße auf bytes Bytes. - cbs=bytes: konvertiert jeweils bytes Bytes, d. h., gibt die Größe des Konvertierungspuffers an.
- skip=blocks: überspringt blocks Blöcke vom Anfang der Eingabedatei, bevor mit dem Kopieren begonnen wird.
- seek=blocks: überspringt blocks Blöcke vom Anfang der Ausgabedatei, bevor mit dem Kopieren begonnen wird.
- count=blocks: kopiert nur blocks Blöcke, wobei die Blockgröße gleich der Anzahl der von ibs angegebenen Bytes ist.
- conv=<keyword>, die Schlüsselwörter können die folgenden 11 Typen sein:
- conversion: konvertiert die Datei mit den angegebenen Parametern.
- ascii: konvertiert EBCDIC in ASCII
- ebcdic: konvertiert ASCII in EBCDIC
- ibm: konvertiert ASCII in alternatives EBCDIC
- block: konvertiert jede Zeile auf eine Länge von cbs und füllt den unzureichenden Teil mit Leerzeichen auf
- unblock: setzt die Länge jeder Zeile auf cbs und füllt den unzureichenden Teil mit Leerzeichen auf
- lcase: konvertiert Großbuchstaben in Kleinbuchstaben
- ucase: konvertiert Kleinbuchstaben in Großbuchstaben
- swap: vertauscht jedes Paar von Eingabebytes
- noerror: nicht anhalten, wenn ein Fehler auftritt
- notrunc: die Ausgabedatei nicht abschneiden
- sync: Füllt jeden Eingabeblock auf ibs Bytes auf, wobei der fehlende Teil mit Nullzeichen (NUL) aufgefüllt wird.
- --help: Hilfeinformationen anzeigen
- --version: Versionsinformationen anzeigen
Beispiele
Um einen Boot-Datenträger unter Linux zu erstellen, können Sie den folgenden Befehl verwenden:
dd if=boot.img of=/dev/fd0 bs=1440k
Konvertieren Sie alle englischen Buchstaben in der Datei testfile in Großbuchstaben und wandeln Sie sie dann in die Datei testfile_1 um. Verwenden Sie an der Eingabeaufforderung den folgenden Befehl:
dd if=testfile_2 of=testfile_1 conv=ucase
Der Inhalt von testfile_2 ist:
$ cat testfile_2 #testfile_2的内容 HELLO LINUX! Linux is a free unix-type opterating system. This is a linux testfile! Linux test
Nach Abschluss der Konvertierung lautet der Inhalt von testfile_1 wie folgt:
$ dd if=testfile_2 of=testfile_1 conv=ucase #使用dd 命令,大小写转换记录了0+1 的读入 记录了0+1 的写出 95字节(95 B)已复制,0.000131446 秒,723 KB/s cmd@hdd-desktop:~$ cat testfile_1 #查看转换后的testfile_1文件内容 HELLO LINUX! LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM. THIS IS A LINUX TESTFILE! LINUX TEST #testfile_2中的所有字符都变成了大写字母
Lesen Sie eine Zeichenkette vom Standardeingabegerät ein, wandeln Sie die Zeichenkette in Großbuchstaben um und geben Sie sie dann auf dem Standardausgabegerät aus. Der verwendete Befehl ist:
dd conv=ucase
Nach Eingabe des obigen Befehls drücken Sie die Eingabetaste, geben Sie eine Zeichenkette ein, drücken Sie erneut die Eingabetaste und drücken Sie die Tastenkombination Ctrl+D, um zu beenden. Das folgende Ergebnis wird angezeigt:
$ dd conv=ucase Hello Linux! #输入字符串后按回车键 HELLO LINUX! #按组合键Ctrl+D退出,转换成大写结果 记录了0+1 的读入 记录了0+1 的写出 13字节(13 B)已复制,12.1558 秒,0.0 KB/sAndere Erweiterungen
Linux-Befehlsenzyklopädie