我有几个音频设备(汽车收音机、便携式收音机、MP3 播放器),它们使用 SD 卡和带有 FAT 文件系统的 USB 记忆棒。由于这些设备的智能有限,它们不会按名称对 FAT FS 上的文件名进行排序,而只是按照它们被复制到 SD 卡的顺序播放它们。
在 MS DOS 和 MS Windows 中,这不是问题。使用一个简单的实用程序按字母顺序对文件进行排序,然后按该顺序复制它们就可以了。但是,在 Linux 上,从 ext4 文件系统复制的文件不会以与读取和复制它们的顺序相同的顺序在 FAT FS 上结束,大概是因为有一种缓冲机制可以提高效率,但不会过于担心文件最终在目标设备上的物理顺序。
我也尝试在 Virtual Box VM 中使用 Windows,但最终文件的写入顺序与从 Linux 文件系统中读取的顺序不同。
有没有办法(除了手动复制它们并等待所有写入缓冲区被刷新)来确保文件按照从 ext4 文件系统中读取的顺序最终出现在 FAT SD 目标上?
记得很久以前就问过这个(欢迎大家搜索)。我对未来很长一段时间的猜测是:使用选项安装设备
sync
(删除缓冲),对列表进行排序以确保它们按顺序复制。