inux下dd命令詳解
名稱: dd
使用權限: 全部使用者dd 這個指令在 manual 裏的定義是 convert and copy a file
使用方式:
dd [option]
若是你想要在線看 manual, 能夠試試:
dd --help
或是
info dd
若是你想要看看這個版本如何:
dd --version
輸入或輸出
dd if=[STDIN] of=[STDOUT]
強迫輸入或輸出的Size爲多少Bytes
bs: dd -ibs=[BYTE] -obs=[SIZE]
強迫一次只作多少個 Bytes
cbs=BYTES
跳過一段之後才輸出
seek=BLOCKS
跳過一段之後才輸入
skip=BLOCKS
固然你能夠拿這個來方便的拷貝光碟(注意,你的光碟是標準的 iso9660格式才能夠這麼作唷!)
dd if=/dev/cdrom of=cdrom.iso
其中 if 後面以及 of 後面的內容依你的需求調整。
而後給系統這個指令就能夠燒了:
cdrecord -v cdrom.iso
這篇不是在講 cdrecord 的,因此上面的指令是最爲簡單可是不必定能符合您的硬件環境...
功能:把指定的輸入文件拷貝到指定的輸出文件中,而且在拷貝過程當中能夠進行格式轉換。能夠用該命令實現DOS下的diskcopy命令的做用。先用dd命令把軟盤上的數據寫成硬盤的一個寄存文件,再把這個寄存文件寫入第二張軟盤上,完成diskcopy的功能。須要注意的是,應該將硬盤上的寄存文件用rm命令刪除掉。系統默認使用標準輸入文件和標準輸出文件。
語法:dd [選項]
if =輸入文件(或設備名稱)。
of =輸出文件(或設備名稱)。
ibs = bytes 一次讀取bytes字節,即讀入緩衝區的字節數。
skip = blocks 跳過讀入緩衝區開頭的ibs*blocks塊。
obs = bytes 一次寫入bytes字節,即寫入緩衝區的字節數。
bs = bytes 同時設置讀/寫緩衝區的字節數(等於設置ibs和obs)。
cbs = byte 一次轉換bytes字節。
count=blocks 只拷貝輸入的blocks塊。
conv = ASCII 把EBCDIC碼轉換爲ASCIl碼。
conv = ebcdic 把ASCIl碼轉換爲EBCDIC碼。
conv = ibm 把ASCIl碼轉換爲alternate EBCDIC碼。
conv = block 把變更位轉換成固定字符。
conv = ublock 把固定位轉換成變更位。
conv = ucase 把字母由小寫轉換爲大寫。
conv = lcase 把字母由大寫轉換爲小寫。
conv = notrunc 不截短輸出文件。
conv = swab 交換每一對輸入字節。
conv = noerror 出錯時不中止處理。
conv = sync 把每一個輸入記錄的大小都調到ibs的大小(用NUL填充)。
例1:要把一張軟盤的內容拷貝到另外一張軟盤上,利用/tmp做爲臨時存儲區。把源盤插入驅動器中,輸入下述命令:
$ dd if =/dev/fd0 of = /tmp/tmpfile
拷貝完成後,將源盤從驅動器中取出,把目標盤插入,輸入命令:
$ dd if = /tmp/tmpfile of =/dev/fd0
軟盤拷貝完成後,應該將臨時文件刪除:
$ rm /tmp/tmpfile
例2:把net.i這個文件寫入軟盤中,並設定讀/寫緩衝區的數目。
(注意:軟盤中的內容會被徹底覆蓋掉)
$ dd if = net.i of = /dev/fd0 bs = 16384
例3:將文件sfile拷貝到文件 dfile中。
$ dd if=sfile of=dfile
_____________________________________
dd 是 Linux/UNIX 下的一個很是有用的命令,做用是用指定大小的塊拷貝一個文件,並在拷貝的同時進行指定的轉換。dd 的主要選項:指定數字的地方若如下列字符結尾乘以相應的數字:b=512, c=1, k=1024, w=2, xm=number mif=file輸入文件名,缺省爲標準輸入。of=file輸出文件名,缺省爲標準輸出。ibs=bytes一次讀入 bytes 個字節(即一個塊大小爲 bytes 個字節)。obs=bytes一次寫 bytes 個字節(即一個塊大小爲 bytes 個字節)。bs=bytes同時設置讀寫塊的大小爲 bytes ,可代替 ibs 和 obs 。cbs=bytes一次轉換 bytes 個字節,即轉換緩衝區大小。skip=blocks從輸入文件開頭跳過 blocks 個塊後再開始複製。seek=blocks從輸出文件開頭跳過 blocks 個塊後再開始複製。(一般只有當輸出文件是磁盤或磁帶時纔有效)count=blocks僅拷貝 blocks 個塊,塊大小等於 ibs 指定的字節數。conv=conversion[,conversion...]用指定的參數轉換文件。轉換參數:ascii 轉換 EBCDIC 爲 ASCII。ebcdic 轉換 ASCII 爲 EBCDIC。ibm 轉換 ASCII 爲 alternate EBCDIC.block 把每一行轉換爲長度爲 cbs 的記錄,不足部分用空格填充。unblock使每一行的長度都爲 cbs ,不足部分用空格填充。lcase 把大寫字符轉換爲小寫字符。ucase 把小寫字符轉換爲大寫字符。swab 交換輸入的每對字節。 Unlike theUnix dd, this works when an odd number ofbytes are read. If the input file containsan odd number of bytes, the last byte issimply copied (since there is nothing toswap it with).noerror出錯時不中止。notrunc不截短輸出文件。sync 把每一個輸入塊填充到ibs個字節,不足部分用空(NUL)字符補齊。因爲 dd 命令容許二進制方式讀寫,因此特別適合在原始物理設備上進行輸入/輸出。例如能夠用下面的命令爲軟盤創建鏡像文件:dd if=/dev/fd0 of=disk.img bs=1440k有趣的是,這個鏡像文件能被 HD-Copy ,Winp_w_picpath 等工具軟件讀出。再如把第一個硬盤的前 512 個字節存爲一個文件:dd if=/dev/hda of=disk.mbr bs=512 count=1