Linux/UNIX命令dd簡介
dd 是 Linux/UNIX 下的一個非常有用的命令,作用是用指定大小的塊拷貝一個文件,并在拷貝的同時進(jìn)行指定的轉(zhuǎn)換。
dd 的主要選項:
指定數(shù)字的地方若以下列字符結(jié)尾乘以相應(yīng)的數(shù)字:
b=512, c=1, k=1024, w=2, xm=number m
if=file
輸入文件名,缺省為標(biāo)準(zhǔn)輸入。
of=file
輸出文件名,缺省為標(biāo)準(zhǔn)輸出。
ibs=bytes
一次讀入 bytes 個字節(jié)(即一個塊大小為 bytes 個字節(jié))。
obs=bytes
一次寫 bytes 個字節(jié)(即一個塊大小為 bytes 個字節(jié))。
bs=bytes
同時設(shè)置讀寫塊的大小為 bytes ,可代替 ibs 和 obs 。
cbs=bytes
一次轉(zhuǎn)換 bytes 個字節(jié),即轉(zhuǎn)換緩沖區(qū)大小。
skip=blocks
從輸入文件開頭跳過 blocks 個塊后再開始復(fù)制。
seek=blocks
從輸出文件開頭跳過 blocks 個塊后再開始復(fù)制。(通常只有當(dāng)輸出文件是磁盤或磁帶時才有效)
count=blocks
僅拷貝 blocks 個塊,塊大小等于 ibs 指定的字節(jié)數(shù)。
conv=conversion[,conversion...]
用指定的參數(shù)轉(zhuǎn)換文件。
轉(zhuǎn)換參數(shù):
ascii 轉(zhuǎn)換 EBCDIC 為 ASCII。
ebcdic 轉(zhuǎn)換 ASCII 為 EBCDIC。
ibm 轉(zhuǎn)換 ASCII 為 alternate EBCDIC.
block 把每一行轉(zhuǎn)換為長度為 cbs 的記錄,不足部分用空格填充。
unblock
使每一行的長度都為 cbs ,不足部分用空格填充。
lcase 把大寫字符轉(zhuǎn)換為小寫字符。
ucase 把小寫字符轉(zhuǎn)換為大寫字符。
swab 交換輸入的每對字節(jié)。 Unlike the
Unix dd, this works when an odd number of
bytes are read. If the input file contains
an odd number of bytes, the last byte is
simply copied (since there is nothing to
swap it with).
noerror
出錯時不停止。
notrunc
不截短輸出文件。
sync 把每個輸入塊填充到ibs個字節(jié),不足部分用空(NUL)字符補(bǔ)齊。
由于 dd 命令允許二進(jìn)制方式讀寫,所以特別適合在原始物理設(shè)備上進(jìn)行輸入/輸出。例如可以用下面的命令為軟盤建立鏡像文件:
dd if=/dev/fd0 of=disk.img bs=1440k
有趣的是,這個鏡像文件能被 HD-Copy ,Winimage 等工具軟件讀出。再如把第一個硬盤的前 512 個字節(jié)存為一個文件:
dd if=/dev/hda of=disk.mbr bs=512 count=1
關(guān)鍵詞:Linux,UNIX
閱讀本文后您有什么感想? 已有 人給出評價!
- 1
- 1
- 1
- 1
- 1
- 1