如何使用 dd 命令将不同偏移量的文件写入文件系统分区

如何使用 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如果我省略from ,文件写入的偏移量是多少dd

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

答案1

您无法使用 dd 这种方式在“分区偏移量”处“写入文件”——您只是将数据写入该分区上已安装文件系统内名为“aaa”的文件中。

“seek=”确实会导致 dd 在开始写入之前 lseek 到给定位置——这意味着它将简单地创建一个名为 /mypart/aaa 的文件,并在写入之前 lseek 到该文件中给定数量的块。

如果省略“seek=”,dd 将从名为“aaa”的文件的开头开始写入。

答案2

回复:“他们在做我想做的事吗”

尝试

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

并查看正在进行哪些系统调用。

相关内容