我想使用dd从磁盘上的特定位置(基本上跳过前50000字节)开始写入数据,并在前50000字节后开始写入。我试过这个
= / dev / disk1 if = / dev / random seek = 50000
我让上面一行运行几分钟然后当我取消它时,我得到了这个
0 + 6条记录 0 + 0记录输出 复制0字节(0 B),79.2458 s,0.0 kB / s 在我看来没有被复制。我做错了吗?
答案 0 :(得分:9)
来自dd docs:
‘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