Linux dd コマンド

Linux 命令大全Linux コマンド大全

Linux dd コマンドは、データの読み取り、変換、出力に使用されます。

dd は標準入力またはファイルからデータを読み取り、指定された形式に従ってデータを変換し、ファイル、デバイス、または標準出力に出力します。

パラメータの説明:

  • if=ファイル名: 入力ファイル名を指定します。デフォルトは標準入力です。つまり、ソースファイルを指定します。
  • of=ファイル名: 出力ファイル名を指定します。デフォルトは標準出力です。つまり、宛先ファイルを指定します。
  • ibs=bytes: 一度にbytesバイトを読み込みます。つまり、ブロックサイズをbytesバイトに指定します。
    obs=bytes: 一度にbytesバイトを出力します。つまり、ブロックサイズをbytesバイトに指定します。
    bs=bytes: 読み込み/出力のブロックサイズを同時にbytesバイトと設定します。
  • cbs=bytes: 一度にbytesバイトを変換します。つまり、変換バッファのサイズを指定します。
  • skip=blocks: 入力ファイルの先頭からblocksブロックだけスキップしてからコピーを開始します。
  • seek=blocks: 出力ファイルの先頭からblocksブロックだけスキップしてからコピーを開始します。
  • count=blocks: blocksブロックだけコピーします。ブロックサイズはibsで指定されたバイト数に等しい。
  • conv=<キーワード>、キーワードは次の11種類があります:
    • conversion: 指定されたパラメータでファイルを変換します。
    • ascii: EBCDIC を ASCII に変換します。
    • ebcdic: ASCII を EBCDIC に変換します。
    • ibm: ASCII を代替 EBCDIC に変換します。
    • block: 各行を長さcbsに変換し、不足分はスペースで埋めます。
    • unblock: 各行の長さをcbsにし、不足分はスペースで埋めます。
    • lcase: 大文字を小文字に変換します。
    • ucase: 小文字を大文字に変換します。
    • swap: 入力の各バイト対を交換します。
    • noerror: エラーが発生しても停止しません。
    • notrunc: 出力ファイルを切り詰めません。
    • sync: 各入力ブロックをibsバイトまで埋め、不足分はNUL文字で埋めます。
  • --help: ヘルプ情報を表示します。
  • --version: バージョン情報を表示します。

実例

Linuxで起動ディスクを作成するには、次のコマンドを使用します。

dd if=boot.img of=/dev/fd0 bs=1440k 

testfileファイル内のすべての英文字を大文字に変換し、testfile_1ファイルに変換します。コマンドプロンプトで次のコマンドを使用します。

dd if=testfile_2 of=testfile_1 conv=ucase 

ここで、testfile_2 の内容は次のとおりです。

$ cat testfile_2 #testfile_2的内容  
HELLO LINUX!  
Linux is a free unix-type opterating system.  
This is a linux testfile!  
Linux test 

変換が完了すると、testfile_1 の内容は次のようになります。

$ 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中的所有字符都变成了大写字母 

標準入力デバイスから文字列を読み込み、その文字列を大文字に変換して標準出力デバイスに出力するには、次のコマンドを使用します。

dd conv=ucase 

上記のコマンドを入力してEnterキーを押し、文字列を入力して再度Enterキーを押し、Ctrl+Dキーの組み合わせで終了すると、次の結果が表示されます。

$ dd conv=ucase 
Hello Linux! #输入字符串后按回车键  
HELLO LINUX! #按组合键Ctrl+D退出,转换成大写结果  
记录了0+1 的读入  
记录了0+1 的写出  
13字节(13 B)已复制,12.1558 秒,0.0 KB/s 

Linux 命令大全Linux コマンド大全

その他の拡張