Linux

如何使用 dd 命令將不同偏移量的文件寫入文件系統分區

  • March 7, 2012

要求

我想將不同偏移量的文件寫入分區

分區 /dev/part2 安裝在 /mypart

我嘗試了以下命令:

dd if=/dev/urandom of=/mypart/aaa bs=1024 seek=0 count=15000
dd if=/dev/urandom of=/mypart/aaa bs=1024 seek=15000 count=15000
dd if=/dev/urandom of=/mypart/aaa bs=1024 seek=30000 count=15000

他們在做我想做的事嗎?他們是否將文件寫入偏移量為 0、15000K 和 30000K 的分區?

如果我省略seek,文件寫入的偏移量是多少dd

dd if=/dev/urandom of=/mypart/aaa bs=1024 count=15000

您不能以這種方式使用 dd 在“分區偏移量”處“寫入文件”——您只是將數據寫入該分區上已掛載的文件系統中名為“aaa”的文件中。

“seek=” 確實會導致 dd 在開始寫入之前 lseek 到給定位置 - 這意味著它將簡單地創建一個名為 /mypart/aaa 的文件並在寫入之前將給定數量的塊 lseek 到該文件中。

如果省略“seek=”,dd 將從名為“aaa”的文件的開頭開始寫入。

回复:“他們在做我想做的事嗎”

嘗試

strace dd if=/dev/urandom of=/mypart/aaa bs=1024 seek=15000 count=15000

並查看正在進行的系統呼叫。

引用自:https://unix.stackexchange.com/questions/33714