加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-14 00:29:07 所属栏目:Linux 来源:网络整理
导读:我想使用dd从磁盘上的特定位置(基本上跳过前50000字节)开始写入数据,并在前50000字节后开始写入.我试过这样做 dd = = dev / disk1 if = / dev / random seek = 50000 我让上面一行运行几分钟然后当我取消它时,我得到了这个 0 6条记录 0 0记录了 复制0字节(0
我想使用dd从磁盘上的特定位置(基本上跳过前50000字节)开始写入数据,并在前50000字节后开始写入.我试过这样做

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

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

0 6条记录
0 0记录了
复制0字节(0 B),79.2458 s,0.0 kB / s
在我看来没有被复制.我做错了吗?

解决方法

从 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读