首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux直接写/写缓存

Linux直接写/写缓存
EN

Unix & Linux用户
提问于 2017-07-05 19:16:06
回答 1查看 3.5K关注 0票数 4

最近,我一直在使用USB2闪存驱动器向我的公司传输大量数据。

在将数据复制到闪存驱动器时,我注意到数据不是直接写入驱动器的。它以200 to /秒的速度编写缓存(?)。然后,我将umountsync驱动器,它需要几个小时才能真正将数据写入驱动器。

我也尝试使用cp代替Nautilus,但它有相同的行为。dd不是复制普通文件的选项。

在USB存储上写入时,是否有任何方法可以让Linux直接写入数据而无需缓存?或者减少缓存,这样我就不用等几个小时才能卸载驱动器?

最让我烦恼的是进度条完成了复制,然后我不得不等待sync编写数据的未指定时间。

我在Fedora 25机器上。

更新试图澄清我的问题。

更新2发现了一个类似的没有答案的问题:减少闪存设备的缓存大小

EN

回答 1

Unix & Linux用户

发布于 2017-07-05 19:34:37

您可以干燥直接dd方法。听起来是时候重新格式化您的驱动器了:mk2fs. -fs-您的选择。

man mkf2s

dd路线很简单。

在你开车前跑一次。lsblk

再过一次。

注意设备的输出。

然后,要复制文件,可以创建如下所示的新设备:dd if=/dev/zero of=~/my-files.dd.img bs=1G mkfs.ext4 ~/my-files.dd.img losetup /dev/loop0 ~/my-files.dd.img

注意,如果希望在机器重新启动后重新挂载,那么将上面的行添加到rc.local文件中。vi /etc/rc.local

用:mkdir /mnt/amazing mount -o loop=/dev/loop0 ~/my-files.dd.img /mnt/mymountpoint安装设备

要检查已挂载的文件,可以使用df命令:df -h | grep mymountpoint /dev/loop0 976M 1.3M 924M 1% /mnt/mymountpoint where `bs=` a value greater than the output of: `ls -lh ./your-file-here`

完成后,卸载设备:umount /mnt/mymountpoint losetup -d /dev/loop0

还没有测试过这个,但我想应该是这样的。

欢呼里万诺夫

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

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

复制
相关文章

相似问题

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