Linux
如何使用 dd 命令將不同偏移量的文件寫入文件系統分區
要求
我想將不同偏移量的文件寫入分區
分區 /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
並查看正在進行的系統呼叫。