Heim System-Tutorial LINUX Linux dd-Befehlsanalyse: Detaillierte Beispiele für Datensicherung und Formatkonvertierung

Linux dd-Befehlsanalyse: Detaillierte Beispiele für Datensicherung und Formatkonvertierung

Jan 05, 2024 pm 03:46 PM
linux dd dd命令

Der Befehl

dd wird hauptsächlich zur Datensicherung verwendet und kann während des Sicherungsvorgangs eine Formatkonvertierung durchführen. Tatsächlich kann der Befehl dd Quelldaten in Zieldaten kopieren und eine Datensicherung unabhängig davon durchführen, ob es sich bei den Quelldaten um eine Datei, Partition, Festplatte oder CD handelt.

Das Grundformat des

dd-Befehls ist wie folgt:

[root@localhost ~]# dd if="输入文件" of="输出文件" bs="数据块" count="数量"
Nach dem Login kopieren

Parameter:

  1. if: definiert die Datei für Eingabedaten oder es kann ein Eingabegerät sein
  2. von: definiert die Datei für Ausgabedaten, oder es kann ein Ausgabegerät sein
  3. bs: Geben Sie die Größe des Datenblocks an, dh legen Sie fest, wie viele Bytes gleichzeitig gelesen oder geschrieben werden sollen. Die Größe des Musterdatenblocks beträgt 512 Byte
  4. count: Geben Sie die Anzahl der Bs an;
  5. conv=Flag: Dateien basierend auf Flags konvertieren. Zu den Zeichen gehören:
  6. ascii: Konvertieren von EBCDIC-Code in ASCII-Code;
      ebcdic: Konvertieren von ASCII-Code in EBCDIC-Code;
    • ibm: Konvertieren von ASCII-Code in Ersatz-EBCDIC-Code
    • Block: Ersetzen Sie die neue Zeile im Endzeichenblock durch ein Leerzeichen gleicher Länge
    • unblock: Ersetzen Sie nachgestellte Leerzeichen in Blöcken in CBS-Größe durch ein Zeilenumbruchzeichen
    • lcase: Großbuchstaben in Kleinbuchstaben umwandeln
    • notrunc: Die Ausgabedatei nicht abschneiden;
    • ucase: Kleinbuchstaben in Großbuchstaben umwandeln
    • swab: Vertauschen Sie jedes Paar Eingabedatenbytes;
    • noerror: Lesen Sie die Daten weiter, nachdem ein Fehler aufgetreten ist
    • sync: Füllen Sie jeden Eingabedatenblock mit NUL-Zeichen bis zur Größe von ibs; in Kombination mit Block oder Unblock werden Leerzeichen anstelle von NUL-Zeichen verwendet
    • 【Beispiel 1】Sicherungsdatei
    • [root@localhost ~]# dd if=/etc/httpd/conf/httpd.conf of=/tmp/httpd.bak
      记录了67+1 的读入
      #数据占了写满的67个数据块,以及1个没有写满的数据块
      记录了67+1 的写出
      #默认数据块大小是512字节
      34439字节(34 kB)已复制,0.0524897 秒,656 kB/秒
      #如果要备份文件,那么dd命令和cp命令非常类似
      [root@localhost ~]# ll -h /tmp/httpd.bak
      -rw-r--r--.1 root root 34K 6月 5 18:04 /tmp/httpd.bak
      #查看一下生成的备份文件的大小
      Nach dem Login kopieren
  7. 【Beispiel 2】Die Sicherungspartition ist eine Sicherungsdatei

[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用%% 挂载点
/dev/sda3 20G 2.0G 17G 11% /
tmpfs 306M 0 306M 0% /dev/shm
/dev/sda1 194M 27M 157M 15% /boot
/dev/sr0 3.5G 3.5G 0 100% /mnt/cdrom
#查看一下分区容量,我们备份/boot分区
[root@localhost ~]# dd if=/dev/sda1 of=/tmp/boot.bak
#备份完成
[root@localhost ~]# ll -h /tmp/boot.bak
-rw-r--r--.1 root root 200M 6月 5 18:14 /tmp/boot.bak
#查看生成的备份文件
#如果需要恢复,则执行以下命令
[root@localhost ~]# dd if=/tmp/boot.bak of=/dev/sda1
Nach dem Login kopieren
Wenn Sie eine Partition direkt auf einer anderen Partition sichern möchten, müssen Sie eine neue Partition erstellen. Die Größe dieser Partition darf nicht kleiner als die Quellpartition sein und kann nur gleich oder größer als die Quellpartition sein. Der Befehl lautet wie folgt:
[root@localhost ~]# dd if=/dev/sda1 of=/dev/sdb1
#如果需要恢复,则只需把输入项和输出项反过来即可,命令如下
[root@localhost ~]# dd if=/dev/sdb1 of=/dev/sda1
Nach dem Login kopieren

【Beispiel 3】Vollständige Festplattensicherung

[root@localhost ~]# dd if=/dev/sda of=/dev/sdb
#把磁盘a备份到磁盘b
[root@localhost ~]# dd if=/dev/sda of=/tmp/disk.bak
#把磁盘a备份成文件disk.bak
#备份恢复
#如果要备份到另一块硬盘上,那么,当源硬盘数据损坏时,只需用备份硬盘替换源硬盘即可
#如果要备份成文件,那么在恢复时需要把备份数据复制到其他Linux中,然后把新硬盘安装到这台Linux
#服务器上,再把磁盘备份数据复制到新硬盘中。命令如下
[root@localhost ~]# dd if=/tmp/disk.bak of=/dev/sdb
Nach dem Login kopieren

【Beispiel 4】Diskette kopieren

[root@localhost ~]# dd if=/dev/fd0 of=/tmp/fd.bak
#在Linux中软盘的设备文件名是/dev/fd0
#这条命令先把软盘中的数据保存为临时数据文件
[root@localhost ~]# dd if=/tmp/fd.bak of=/dev/fd0
#然后更换新的软盘,把数据备份复制到新软盘中,就实现了软盘的复制
Nach dem Login kopieren
Wenn Sie eine CD sichern müssen, verwenden Sie den Befehl dd, um unter Linux ein ISO-Image der CD zu erstellen. Der Befehl lautet wie folgt:
#制作光盘ISO镜像
[root@localhost ~]# dd if=/dev/cdrom of-/tmp/cd.iso #把光盘中所有的数据制作成ISO镜像
[root@localhost ~J # mkdir /mnt/cd
#建立一个新的挂载点
[root@localhost ~]# mount -o loop /tmp/cd.iso /mnt/cd #挂栽ISO文件到挂载点
[root@localhost ~]# cd /mnt/cd
#进入挂栽点
[root@localhost cd]# ls
CentOS_BuildTag images RELEASE-NOTES-en-tJS.html RPM-GPG-KEY-CentOS-Debug-6 TRANS.TBL
EULAisolinux repodata RPM-GPG-KEY-CentOS-Security-6
GPL Packages RPM-GPG-KEY-CentOS-6 RPM-GPG-KEY-CentOS-Testing-6
#数据是光盘当中的数据,这个ISO镜像是可以被当作真正的光盘使用的
Nach dem Login kopieren

Manchmal müssen wir eine Datei mit einer bestimmten Größe erstellen. Wenn wir beispielsweise eine Swap-Partition hinzufügen, müssen wir auch eine Datei mit einer bestimmten Größe erstellen. Der Befehl lautet wie folgt:

[root@localhost ~]# dd if=/dev/zero of=/tmp/testfile bs=1M count=10
#数据输入项是/dev/zero会向目标文件中不停地写入二进制的0
#指定数据块大小是1MB
#指定生成10个数据块。也就是定义输出的文件大小为10MB
记录了10+0 的读入
#显示数据占满了10个数据块
记录了10+0 的写出
#不过这里数据块的大小已经是1MB了
10485760字节(10 MB)已复制,0.00709902 秒,1.5 GB/秒
[root@localhost ~]# ll -h /tmp/testfile
-rw-r--r--.1 root root 10M 6月 5 18:46 /tmp/testfile
#生成的testfile文件的大小刚好是10MB
Nach dem Login kopieren
Der dd-Befehl ähnelt der Funktion des GHOST-Tools beim Kopieren der gesamten Festplatte. Die vom dd-Befehl kopierten Festplattendaten sind jedoch viel stabiler als die von GHOST kopierten Festplattendaten. Obwohl der Befehl dd leistungsstark ist, hat er auch einen offensichtlichen Nachteil: Das Kopieren von 100 GB Daten dauert 15 bis 25 Minuten (abhängig von der Leistung des Servers). Es gibt viele Methoden und Tools zur Datensicherung, wie zum Beispiel tar- und cpio-Befehle. Für Netzwerkreplikationstools wie rsync und scp sind relativ umfassende Netzwerkkenntnisse erforderlich, um sie zu erlernen. Sie werden hier nicht vorgestellt.

Das obige ist der detaillierte Inhalt vonLinux dd-Befehlsanalyse: Detaillierte Beispiele für Datensicherung und Formatkonvertierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Apr 02, 2025 am 06:36 AM

Verwenden Sie Python im Linux -Terminal ...

Wie konfigurieren Sie die Timing -Timing -Aufgabe von ApScheduler als Dienst auf macOS? Wie konfigurieren Sie die Timing -Timing -Aufgabe von ApScheduler als Dienst auf macOS? Apr 01, 2025 pm 06:09 PM

Konfigurieren Sie die Timing -Timing -Timing -Timing -Timing auf der MacOS -Plattform, wenn Sie die Timing -Timing -Timing -Timing von APScheduler als Service konfigurieren möchten, ähnlich wie bei NGIN ...

Vier Möglichkeiten zur Implementierung von Multithreading in C -Sprache Vier Möglichkeiten zur Implementierung von Multithreading in C -Sprache Apr 03, 2025 pm 03:00 PM

Multithreading in der Sprache kann die Programmeffizienz erheblich verbessern. Es gibt vier Hauptmethoden, um Multithreading in C -Sprache zu implementieren: Erstellen Sie unabhängige Prozesse: Erstellen Sie mehrere unabhängig laufende Prozesse. Jeder Prozess hat seinen eigenen Speicherplatz. Pseudo-MultitHhreading: Erstellen Sie mehrere Ausführungsströme in einem Prozess, der denselben Speicherplatz freigibt und abwechselnd ausführt. Multi-Thread-Bibliothek: Verwenden Sie Multi-Thread-Bibliotheken wie PThreads, um Threads zu erstellen und zu verwalten, wodurch reichhaltige Funktionen der Thread-Betriebsfunktionen bereitgestellt werden. Coroutine: Eine leichte Multi-Thread-Implementierung, die Aufgaben in kleine Unteraufgaben unterteilt und sie wiederum ausführt.

So öffnen Sie Web.xml So öffnen Sie Web.xml Apr 03, 2025 am 06:51 AM

Um eine Web.xml -Datei zu öffnen, können Sie die folgenden Methoden verwenden: Verwenden Sie einen Texteditor (z.

Kann der Python -Dolmetscher im Linux -System gelöscht werden? Kann der Python -Dolmetscher im Linux -System gelöscht werden? Apr 02, 2025 am 07:00 AM

In Bezug auf das Problem der Entfernung des Python -Dolmetschers, das mit Linux -Systemen ausgestattet ist, werden viele Linux -Verteilungen den Python -Dolmetscher bei der Installation vorinstallieren, und verwendet den Paketmanager nicht ...

Wofür wird der Linux am besten verwendet? Wofür wird der Linux am besten verwendet? Apr 03, 2025 am 12:11 AM

Linux wird am besten als Serververwaltung, eingebettete Systeme und Desktop -Umgebungen verwendet. 1) In der Serververwaltung wird Linux verwendet, um Websites, Datenbanken und Anwendungen zu hosten und Stabilität und Zuverlässigkeit bereitzustellen. 2) In eingebetteten Systemen wird Linux aufgrund seiner Flexibilität und Stabilität in Smart Home und Automotive Electronic Systems häufig verwendet. 3) In der Desktop -Umgebung bietet Linux reichhaltige Anwendungen und eine effiziente Leistung.

Wie ist Debian Hadoop -Kompatibilität? Wie ist Debian Hadoop -Kompatibilität? Apr 02, 2025 am 08:42 AM

Debianlinux ist bekannt für seine Stabilität und Sicherheit und wird in Server-, Entwicklungs- und Desktop -Umgebungen häufig verwendet. Während es derzeit einen Mangel an offiziellen Anweisungen zur direkten Kompatibilität mit Debian und Hadoop gibt, wird dieser Artikel Sie dazu veranlassen, Hadoop in Ihrem Debian -System bereitzustellen. Debian -Systemanforderungen: Bevor Sie mit der Hadoop -Konfiguration beginnen, stellen Sie bitte sicher, dass Ihr Debian -System die Mindestanforderungen von Hadoop erfüllt, einschließlich der Installation der erforderlichen Java -Laufzeitumgebung (JRE) und Hadoop -Pakete. Schritte zur Bereitstellung von Hadoop -Bereitstellungen: Download und Unzip Hadoop: Laden Sie die Hadoop -Version von der offiziellen Apachehadoop -Website herunter und lösen Sie sie

Ist Debian Strings kompatibel mit mehreren Browsern Ist Debian Strings kompatibel mit mehreren Browsern Apr 02, 2025 am 08:30 AM

"DebianStrings" ist kein Standardbegriff und seine spezifische Bedeutung ist noch unklar. Dieser Artikel kann seine Browserkompatibilität nicht direkt kommentieren. Wenn sich jedoch "DebianStrings" auf eine Webanwendung bezieht, die auf einem Debian -System ausgeführt wird, hängt seine Browserkompatibilität von der technischen Architektur der Anwendung selbst ab. Die meisten modernen Webanwendungen sind für die Kompatibilität des Cross-Browsers verpflichtet. Dies beruht auf den folgenden Webstandards und der Verwendung gut kompatibler Front-End-Technologien (wie HTML, CSS, JavaScript) und Back-End-Technologien (wie PHP, Python, Node.js usw.). Um sicherzustellen, dass die Anwendung mit mehreren Browsern kompatibel ist, müssen Entwickler häufig Kreuzbrowser-Tests durchführen und die Reaktionsfähigkeit verwenden

See all articles