最近,我一直在使用USB2闪存驱动器向我的公司传输大量数据。
在将数据复制到闪存驱动器时,我注意到数据不是直接写入驱动器的。它以200 to /秒的速度编写缓存(?)。然后,我将umount或sync驱动器,它需要几个小时才能真正将数据写入驱动器。
我也尝试使用cp代替Nautilus,但它有相同的行为。dd不是复制普通文件的选项。
在USB存储上写入时,是否有任何方法可以让Linux直接写入数据而无需缓存?或者减少缓存,这样我就不用等几个小时才能卸载驱动器?
最让我烦恼的是进度条完成了复制,然后我不得不等待sync编写数据的未指定时间。
我在Fedora 25机器上。
更新试图澄清我的问题。
更新2发现了一个类似的没有答案的问题:减少闪存设备的缓存大小
发布于 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
还没有测试过这个,但我想应该是这样的。
欢呼里万诺夫
https://unix.stackexchange.com/questions/375556
复制相似问题