繁体   English   中英

使用 dd 从特定位置开始写入数据

[英]Use dd to write data starting from a specific location

我想使用 dd 从磁盘上的特定位置(基本上跳过前 50000 个字节)开始写入数据,并在前 50000 个字节之后开始写入。 我试过这样做

dd of=/dev/disk1 if=/dev/random seek=50000

我让上面的线路运行了几分钟,然后当我取消它时,我得到了这个

0+6 records in
0+0 records out
0 bytes (0 B) copied, 79.2458 s, 0.0 kB/s

在我看来没有任何东西被复制。 我做错了什么吗?

dd 文档

‘seek=n’

Skip n ‘obs’-byte blocks in the output file before copying. 
if ‘oflag=seek_bytes’ is specified, n is interpreted as a byte 
count rather than a block count. 

所以看起来你想要这个:

dd of=/dev/disk1 if=/dev/random obs=50000  seek=1

或这个:

dd of=/dev/disk1 if=/dev/random oflag=seek_bytes  seek=50000

另一件事是,如果内核池为空, /dev/random将阻塞。 你可以试试/dev/urandom ,当池为空时,它将使用其他方法生成一个数字而不会阻塞:

dd of=/dev/disk1 if=/dev/urandom oflag=seek_bytes  seek=50000

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM