Linux/UNIX命(mìng)令dd簡(jiǎn)介
dd 是 Linux/UNIX 下的一個非常有用的命令,作用是(shì)用指定(dìng)大小的塊拷貝(bèi)一(yī)個文件,並在拷貝的同時進行指定的轉換。
dd 的主要選項:
指定數(shù)字的地方若以下列字符結尾乘(chéng)以相應(yīng)的數字:
b=512, c=1, k=1024, w=2, xm=number m
if=file
輸入文件名,缺省為標準(zhǔn)輸入。
of=file
輸出文件名,缺省為標準輸出。
ibs=bytes
一次讀入 bytes 個字節(即一個塊大(dà)小為 bytes 個字節)。
obs=bytes
一次(cì)寫 bytes 個字(zì)節(即一個塊大小為 bytes 個字節)。
bs=bytes
同時設置讀寫塊的大小為 bytes ,可代替 ibs 和 obs 。
cbs=bytes
一次(cì)轉換(huàn) bytes 個字節,即轉(zhuǎn)換緩衝(chōng)區大小。
skip=blocks
從輸入文件開頭跳過 blocks 個塊後(hòu)再(zài)開始複製。
seek=blocks
從輸出文件開頭跳過 blocks 個塊後再開始複製。(通常隻有當輸出文(wén)件(jiàn)是磁盤或磁帶時才有效)
count=blocks
僅拷貝(bèi) blocks 個塊,塊大小等於 ibs 指定的字節數。
conv=conversion[,conversion...]
用指定的參數轉換文件。
轉換參數:
ascii 轉換 EBCDIC 為(wéi) ASCII。
ebcdic 轉換 ASCII 為 EBCDIC。
ibm 轉換(huàn) ASCII 為 alternate EBCDIC.
block 把每一行轉換為長度為 cbs 的記錄,不足部分用空格填(tián)充(chōng)。
unblock
使每一行的長度都為 cbs ,不足部分用空格填充。
lcase 把大寫字符轉(zhuǎn)換為小寫字符。
ucase 把小寫字符轉換為大寫字符。
swab 交換輸入的每(měi)對字節。 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
出錯時不停止(zhǐ)。
notrunc
不截短輸出文(wén)件。
sync 把每個(gè)輸入塊填充(chōng)到ibs個(gè)字節,不足部分用空(NUL)字符補齊(qí)。
由於 dd 命令允(yǔn)許二進製方式讀(dú)寫(xiě),所以特(tè)別適合在原始物理設備上進行輸入(rù)/輸出。例如可以(yǐ)用下麵的命令為軟盤建立鏡像文件(jiàn):
dd if=/dev/fd0 of=disk.img bs=1440k
有趣的是,這個鏡(jìng)像文件(jiàn)能被 HD-Copy ,Winimage 等工具軟件讀出。再如把第一個硬盤的前 512 個字節存為一個文件(jiàn):
dd if=/dev/hda of=disk.mbr bs=512 count=1
關鍵詞:Linux,UNIX
閱讀本文後您有(yǒu)什麽感想(xiǎng)? 已有 人給出(chū)評(píng)價!
- 1
- 1
- 1
- 1
- 1
- 1