本文鏈接:
學習于:
一、dd命令的解釋
dd:用指定大小的塊拷貝一個文件,并在拷貝的同時進行指定的轉換。
注意:指定數(shù)字的地方若以下列字符結尾,則乘以相應的數(shù)字:b=512;c=1;k=1024;w=2
參數(shù)注釋:
1. if=文件名:輸入文件名,缺省為標準輸入。即指定源文件。< if=input file >
2. of=文件名:輸出文件名,缺省為標準輸出。即指定目的文件。< of=output file >
3. ibs=bytes:一次讀入bytes個字節(jié),即指定一個塊大小為bytes個字節(jié)。
obs=bytes:一次輸出bytes個字節(jié),即指定一個塊大小為bytes個字節(jié)。
bs=bytes:同時設置讀入/輸出的塊大小為bytes個字節(jié)。
4. cbs=bytes:一次轉換bytes個字節(jié),即指定轉換緩沖區(qū)大小。
5. skip=blocks:從輸入文件開頭跳過blocks個塊后再開始復制。
6. seek=blocks:從輸出文件開頭跳過blocks個塊后再開始復制。
注意:通常只用當輸出文件是磁盤或磁帶時才有效,即備份到磁盤或磁帶時才有效。
7. count=blocks:僅拷貝blocks個塊,塊大小等于ibs指定的字節(jié)數(shù)。
8. conv=conversion:用指定的參數(shù)轉換文件。
ascii:轉換ebcdic為ascii
ebcdic:轉換ascii為ebcdic
ibm:轉換ascii為alternate ebcdic
block:把每一行轉換為長度為cbs,不足部分用空格填充
unblock:使每一行的長度都為cbs,不足部分用空格填充
lcase:把大寫字符轉換為小寫字符
ucase:把小寫字符轉換為大寫字符
swab:交換輸入的每對字節(jié)
noerror:出錯時不停止
notrunc:不截短輸出文件
sync:將每個輸入塊填充到ibs個字節(jié),不足部分用空(NUL)字符補齊。
-----------------------------------------------------------------------------------
busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 count=1 conv=sync
f=/dev/zero:輸入文件名為/dev/zero
of=/dev/mmcblk0:輸出文件名為/dev/mmcblk0
bs=512:讀塊和寫塊的大小都為512B(這里的輸出文件為一個塊設備,塊大小的設置跟塊設備中每塊的大小相關)
seek=1:跳過第一個塊
count:只拷貝一個塊
conv:若讀取的輸入塊不足512B,那么不足的部分填充NUL
-----------------------------------------------------------------------------------
ubuntu@ubuntu:~$ sudo dd if=/dev/sdc of=/dev/sdc count=1 seek=63 skip=25671869。sudo dd if=flexnet.sector32 of=/dev/sdc seek=32。[root@localhost vpsmm]# dd if=/dev/zero of=test bs=64k count=4k oflag=dsync 。
iflag=dsync:表示輸入文件讀取時不經(jīng)過緩沖區(qū),一塊一塊地讀。▔K的大小為緩沖區(qū)大。,直到讀取完成。