天天看點

dd 指令詳解

dd指令是Linux/Unix下的一個很常見的檔案拷貝工具。

我們先列下dd命名的常用的參數,再詳細分析:

  bs=BYTES        read and write up to BYTES bytes at a time

  cbs=BYTES       convert BYTES bytes at a time

  conv=CONVS      convert the file as per the comma separated symbol list

  count=BLOCKS    copy only BLOCKS input blocks

  ibs=BYTES       read up to BYTES bytes at a time (default: 512)

  if=FILE         read from FILE instead of stdin

  iflag=FLAGS     read as per the comma separated symbol list

  obs=BYTES       write BYTES bytes at a time (default: 512)

  of=FILE         write to FILE instead of stdout

  oflag=FLAGS     write as per the comma separated symbol list

  seek=BLOCKS     skip BLOCKS obs-sized blocks at start of output

  skip=BLOCKS     skip BLOCKS ibs-sized blocks at start of input

  status=noxfer   suppress transfer statistics

1. dd   if=/dev/block/block0   of=/dev/block/block1

    直接把block0的資料拷貝到block1,預設每一次讀取及寫入都是512位元組。

dd 指令詳解

2. dd  if =/dev/block/block0  of=/dev/block/block1  ibs=512k  obs=1M  skip=20  seek=50  count=20

    把block0偏移10M(512k*20)的地方,讀取10M(512k*20)的資料,寫入到block1偏移50M(1M*50)的地方,每一次讀512k,每一次寫入1M

dd 指令詳解

3. dd  if =/dev/block/block0  of=/dev/block/block1  bs=1M  skip=20  seek=50  count=20

    如果每次讀與每次寫的資料相同,即ibs=obs, 則可使用bs代替

dd 指令詳解

4. dd  if=/dev/block/block0  of=/udsik/block0_dump.img

    把block0分區鏡像dump到U盤中,存儲為檔案block0_dump.img

5. dd  if=/udsik/block0.img  of=/dev/block/block0

    把U盤中的block0.img更新到block0分區  

繼續閱讀