我有目标驱动器,我知道在512b扇区中划分。我想把带有 dd 的150b文件转移到给定目的地的这个驱动器,比如说启动扇区2099200,然后读取与文件大小(150b)完全相同的字节数。同一地点部门。我试过这样的事情:
sudo dd if = my.txt = = dev / sdb obs = 512 seek = 2099199
sudo dd if = / dev / sdb = my.txt obs = 150 count = 1 ibs = 512 skip = 2099199
它几乎可以工作,但我不能只传输150b:
1 + 0记录 3 + 1记录 复制512字节(512 B)
出了什么问题以及如何做我需要的事情?可能是我弄错了,其他一些解决方案会更好,但我需要独立于文件系统。
答案 0 :(得分:2)
来自man
页面:
count=BLOCKS
copy only BLOCKS input blocks
当您从驱动器复制文件时,您正在复制512个字节,因为您使用ibs
选项指定要复制为512字节块的输入,并使用{{1}复制整个块} 选项。相反,您只需指定要复制的块数作为count
值:
ibs
编辑:正如评论中所指出的,此方法需要重新计算跳过值。另一种选择是:
sudo dd if=/dev/sdb of=my.txt ibs=150 count=1 skip=2099199