首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同时写入2张SD卡

同时写入2张SD卡
EN

Unix & Linux用户
提问于 2019-06-05 01:56:29
回答 2查看 229关注 0票数 1

我想写图像在两个SD卡在同一时间。我设想了至少两个并发的写作场景:

  1. 是否有可能用tee或类似的分岔机制写入图像?
  2. 可以从两个不同的BASH执行cat或pv命令吗?sudo sh -c 'pv sdcard.image >/dev/sdb‘sudo sh -c 'pv sdcard.image >/dev/mmcblk0 0’sudo sh -c 'cat sdcard.image >/dev/sdb‘sudo sh -c 'cat sdcard.image >/dev/mmcblk0 0’

我可以预见一个问题,如果这两个目标可以以不同的速度写入,那么就有必要降低写入速度,以免使较慢的编写者过载。图像很大:燃烧多个目标的能力是一个显著的优势。

EN

回答 2

Unix & Linux用户

发布于 2019-06-05 02:53:33

是否可以用tee或类似的分叉机制写入图像?

代码语言:javascript
复制
sudo tee /dev/sdb /dev/mmcblk0 < sdcard.image > /dev/null
票数 4
EN

Unix & Linux用户

发布于 2019-06-05 10:04:10

可以从两个不同的BASH执行cat命令吗?

哪个cat命令?

如果您只想实现与这里相同的结果:

sudo sh -c 'pv sdcard.image >/dev/sdb' sudo sh -c 'pv sdcard.image >/dev/mmcblk0'

但是,一次回车命中,为什么不简单地组合这样的命令呢?

sudo sh -c 'pv sdcard.image /dev/sdb && pv sdcard.image /dev/mmcblk0'

是因为你不想读两遍这个文件吗?

(对于&&,它执行的第二个命令只有在第一个命令成功的情况下才能执行;如果希望以任何方式执行第二个命令,则可以更改;&& )

要从文件系统中读取文件一次,可以这样做:

cat sdcard.image | tee /dev/sdb > /dev/mmcblk0

在这里,您利用了tee默认行为:tee发送给文件的内容,将其发送到设备目标之一,将该设备作为tee命令的文件参数,以及tee发送给stdout的内容,将其重定向到其他设备目标。

或者,使用parallel读取两次图像,但同时并行地进行两次写入:

代码语言:javascript
复制
parallel 'cat sdcard.image >' ::: /dev/{sdb,mmcblk0}

注意:记住这个parallelGNU parallel,而不是moreutils parallel

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/522950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档