Linux ddコマンド詳細説明:データのバックアップ、およびバックアッププロセスでのフォーマット変換のケース
ddコマンドは、主にデータのバックアップとバックアップ処理中のフォーマット変換に使用されます。実際、ddコマンドはソースデータをターゲットデータにコピーすることができ、ソースデータがファイル、パーティション、ディスク、CDのいずれであってもデータをバックアップすることができます。
ddコマンドの基本的な書式は次のとおりです。
[root@localhost ~]# dd if="input file" of="output file" bs="data block" count="number"
パラメータです。
- if: 入力データを定義したファイル。入力デバイスでもよい。
- of: 出力データを定義するファイル。出力デバイスにもなりうる。
- bs: データブロックのサイズを指定する。つまり、一度に何バイト読み書きを行うかを定義する。モードデータブロックサイズは512バイトです。
- count: bsの数を指定します。
- conv=flags: フラグに基づきファイルを変換します。フラグは以下の通りである。
- ascii:EBCDICコードからASCIIコードに変換します。
- ebcdic:ASCIIからEBCDICコードへの変換。
- ibm:ASCIIから代替EBCDICコードへの変換。
- block: 終了文字ブロックの改行を同じ長さのスペースに置き換えます。
- unblock: cbsサイズのブロックの末尾のスペースを1つの改行文字で置き換えます。 {ブロックの解除 {を使用します。 lcase: 大文字を小文字に変換します。 {大文字を小文字に変換します。
- notrunc: 出力ファイルを切り捨てない。 {を使用します。 ucase: 小文字を大文字に変換します。 {小文字を大文字に変換します。 {を使用します。 swab: 入力データバイトの各ペアをスワップします。 {スワップ
- noerror: データを読み込む際にエラーが発生しても続行する。 {を使用します。 sync: 各入力データブロックをibsのサイズまでNUL文字で埋める。blockまたはunblockと組み合わせた場合、NUL文字は空白に置き換えられる。 {ブロックまたはブロック解除と組み合わせた場合、NUL文字はスペースに置き換えられます。
例1] バックアップファイル
[root@localhost ~]# dd if=/etc/httpd/conf/httpd.conf of=/tmp/httpd.bak
Recorded 67+1 reads in
# data accounts for 67 blocks of writes and 1 block of unwritten data
Recorded 67+1 writes out
#Default data block size is 512 bytes
34439 bytes (34 kB) copied, 0.0524897 seconds, 656 kB/sec
#If you want to backup files, then the dd command is very similar to the cp command
[root@localhost ~]# ll -h /tmp/httpd.bak
-rw-r--r--.1 root root 34K Jun 5 18:04 /tmp/httpd.bak
# check the size of the generated backup file
例2] パーティションをバックアップファイルとしてバックアップする場合
[root@localhost ~]# df -h
File System Capacity Used Available Used %% Mount Point
/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
#To check the partition capacity, we backup the /boot partition
[root@localhost ~]# dd if=/dev/sda1 of=/tmp/boot.bak
# backup completed
[root@localhost ~]# ll -h /tmp/boot.bak
-rw-r--r--.1 root root 200M June 5 18:14 /tmp/boot.bak
#View the generated backup file
# If you need to restore, then execute the following command
[root@localhost ~]# dd if=/tmp/boot.bak of=/dev/sda1
パーティションを直接別のパーティションにバックアップしたい場合は、新しいパーティションを生成する必要があります。このパーティションは、元のパーティションより小さくすることはできず、それと同じサイズかそれ以上のサイズのみです。コマンドは以下の通りです。
[root@localhost ~]# dd if=/dev/sda1 of=/dev/sdb1
# If you need to restore, simply reverse the input and output entries with the following command
[root@localhost ~]# dd if=/dev/sdb1 of=/dev/sda1
例3]. ディスク全体のバックアップ
{{コード
例4]・・・。フロッピーディスクをコピーする
{{コード
バックアップがCD-ROMの場合、LinuxではddというコマンドでCD-ROMのISOイメージを作成します。コマンドは以下の通りです。
[root@localhost ~]# dd if=/dev/sda of=/dev/sdb
# back up disk a to disk b
[root@localhost ~]# dd if=/dev/sda of=/tmp/disk.bak
# back up disk a to the file disk.bak
#backup restore
# If you want to back up to another drive, then simply replace the source drive with the backup drive when the source drive data is corrupted
#If you want to backup to a file, then you need to copy the backup data to another Linux during recovery, and then install the new hard disk to this Linux
# Server, then copy the disk backup data to the new hard disk. The command is as follows
[root@localhost ~]# dd if=/tmp/disk.bak of=/dev/sdb
スワップパーティションを追加する場合など、指定したサイズのファイルを作成する必要があることがありますが、これもddコマンドで行います。コマンドは以下の通りです。
[root@localhost ~]# dd if=/dev/fd0 of=/tmp/fd.bak
# In Linux, the device file name of a floppy disk is /dev/fd0
#This command first saves the data on the floppy disk as a temporary data file
[root@localhost ~]# dd if=/tmp/fd.bak of=/dev/fd0
# then replace the floppy with a new one and copy the data backup to the new floppy to achieve the floppy copy
ddコマンドは、ディスク全体のコピーに関してはGHOSTユーティリティと似ていますが、ddコマンドでコピーしたハードディスクのデータは、GHOSTでコピーしたハードディスクのデータよりもはるかに安定しています。ddコマンドは強力ですが、コピーに時間がかかるという明らかな欠点があり、100GBのデータをコピーするのに15分から25分かかります(サーバーの性能に依存します)。
他にもtarやcpioコマンドなど、データのバックアップを実施する方法やツールはたくさんあります。rsyncやscpなどのネットワークレプリケーションツールについては、習得するためにはネットワークの知識が必要なため、ここでは説明しません。
Linuxのddコマンドの詳細:データのバックアップ、およびフォーマット変換の場合のバックアッププロセスでは、このに導入され、より関連するLinuxのddコマンドの内容は、BinaryDevelopの過去の記事を検索してくださいまたは以下の関連記事を閲覧を継続、私はあなたが将来的にBinaryDevelopをよりサポート願っています!。
関連
-
LinuxでPingを無効にする、または許可する設定方法
-
rsyncとinotfiyの組み合わせでリアルタイムバックアップ問題を実現
-
中国版「浮世」を含むUbuntu 20.04.2リリース
-
deepin linuxからmacosx仮想マシンに直接ファイルをドラッグ&ドロップする方法は?
-
deepin linuxでroot権限に切り替えるには?Deepinでrootに切り替えるためのヒント
-
Linux Mintシステムでプログラムをアンインストールするには? Linux で不要なアプリケーションをアンインストールするためのヒント
-
Linux Mint システムの背景画像を変更する方法は? Linuxでデスクトップの背景を変更するためのヒント
-
Linux Mintで入力メソッドを削除する方法は?Linux Mintで冗長な入力メソッドを削除するためのヒント
-
Kali Linuxのマウスを左利き用に設定する方法は?Linuxマウス左利き操作選択方法
-
deepin20のソフトをアンインストールする方法を教えてください。deepinのアプリケーションをアンインストールする2つの方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ゼロからLinuxのisoイメージを作る方法(グラフィックチュートリアル)
-
centos7 インストール クリックハウスとセット ユーザー名 パスワード ケース 詳細
-
deepin20にフォントを追加する方法は?deepin20にフォントをインストールする方法は?
-
deepinシステムのバージョン番号を見るには?deepinシステムのバージョン情報を見るコツ
-
Linux NICがRTNETLINK answersというエラーで起動できない場合、どうすればよいですか?ファイルが存在するか?
-
Vmware 16仮想マシンを開けない場合、ファイルをローカルにコピーする方法は?
-
deepin20の不正確な時刻表示を調整する方法は?Deepinの時刻補正方法
-
GCCのバージョンによる浮動小数点演算の例外発生
-
Centos7 dns service named installation, encountered ** server can't find xxx.com: NXDOMAIN問題
-
floor'への未定義の参照/`&'への未定義の参照