小编bos*_*bos的帖子

dd 是否能够覆盖文件的一部分?

我有一个 1TB 大文件(来自损坏驱动器的磁盘映像)和一个 1.3MB 小文件(磁盘文件的开头)。

使用小文件的内容,我想覆盖大文件的部分内容。也就是说,我想使用小文件插入/覆盖 1TB 图像的前 1.3MB。

使用小的临时文件进行测试我无法覆盖部分文件。相反, dd 完全覆盖了文件。这不是我想要的。

dd 能做到这一点吗?

dd

37
推荐指数
4
解决办法
3万
查看次数

如何让 ctrl+c /not/ 中断 while 循环?

鉴于此循环:

while sleep 10s ; do
  something-that-runs-forever
done
Run Code Online (Sandbox Code Playgroud)

当我按 Ctrl+C 时,整个 while 循环被中断。我想要做的是中断“某事”过程,让 10 秒过去,然后重新启动“某事”。

如何让 ctrl+c 只影响“某事”,而不影响 while 循环?

编辑:“中断”如在 SIGINT 中。杀。中止。终止。不是“暂停”中的“中断”。

bash

13
推荐指数
1
解决办法
3051
查看次数

如何找到哪些图像属于哪个 /dev/loop?

我经常使用映像驱动器,这意味着对有问题的驱动器进行 dd 复制,然后处理映像而不是驱动器本身。

对于大多数工作,我使用 kpartx 将驱动器的分区映射到 /dev/mapper/ 下的设备。我在这里想知道是否有办法找到哪个映射属于哪个图像。

考虑一下:

root@vyvyan:/tmp# kpartx -a -v Image1 
add map loop1p1 (254:4): 0 10240 linear /dev/loop1 2048
add map loop1p2 (254:5): 0 10240 linear /dev/loop1 12288
add map loop1p3 (254:6): 0 52848 linear /dev/loop1 22528
root@vyvyan:/tmp# kpartx -a -v Image2
add map loop2p1 (254:7): 0 33508 linear /dev/loop2 2048
add map loop2p2 (254:8): 0 39820 linear /dev/loop2 35556
Run Code Online (Sandbox Code Playgroud)

现在,假设我忘记了哪个图像去了哪个映射。有没有办法让 kpartx - 或内核,或其他任何东西 - 告诉我哪个图像去哪里?

编辑另外,如果我在 kpartx 添加映射时不小心 rm 图像文件,你如何删除映射?kpartx 希望显示实际图像。

loop-device disk-image

12
推荐指数
1
解决办法
1万
查看次数

标签 统计

bash ×1

dd ×1

disk-image ×1

loop-device ×1