Vik*_*kki 27 filesystem disk-usage mv
我一直在尝试将 32.6 GB 的文件移动到外部闪存驱动器上的文件夹中,以释放笔记本电脑 SSD 上的空间。在终端中打开源文件夹(并运行ulimit -S -s unlimited以防止mv呕吐)后,mv *from* /media/[username]/8849-14DB/Screenshots/传输前 5.9 GB 就好了。
但是,还有 26.7 GB 可用空间:
mv: cannot create regular file '/media/[username]/8849-14DB/Screenshots/Screenshot from 2022-01-06 06-34-27.png': No space left on device
mv: cannot create regular file '/media/[username]/8849-14DB/Screenshots/Screenshot from 2022-01-06 06-34-30.png': No space left on device
mv: cannot create regular file '/media/[username]/8849-14DB/Screenshots/Screenshot from 2022-01-06 06-34-34.png': No space left on device
mv: cannot create regular file '/media/[username]/8849-14DB/Screenshots/Screenshot from 2022-01-06 06-34-39.png': No space left on device
mv: cannot create regular file '/media/[username]/8849-14DB/Screenshots/Screenshot from 2022-01-06 06-35-23.png': No space left on device
[repeated ad infinitum]
Run Code Online (Sandbox Code Playgroud)
尽管事实上,有问题的闪存驱动器实际上并没有空间不足,如下所示:
然而,当我尝试使用 GUI 将上述测试文件移动到我一直试图用来mv移动多个 GB 文件的特定目录时,我确实收到了“设备上没有剩余空间”错误,表明
我查看了之前的问题:Filesystem - No space left error, but there is space。然而,这个问题的答案对我来说没有帮助,因为它们与 ext 系列文件系统上可用的 inode 数量有限有关,而就我而言,目标文件系统是 FAT32 格式的闪存驱动器。
我遇到了什么问题导致文件无法传输?如何克服?
编辑:目标目录中有 16,383 个文件。
Est*_*her 74
Ext4 文件系统并不是唯一对文件数量有限制的文件系统。FAT32 文件系统对单个目录中可以存储的文件数量有限制。如果您使用短名称(8 个字符 + .+ 3 个字符的文件扩展名),则限制为 65,534 个文件。但是,如果您使用较长的名称,则名称的每 13 个字节都会存储为单独的目录条目,这会极大地限制目录中可容纳的文件数量。
在你的例子中,看起来每个文件实际上占用了 4 个目录条目,因为你有 16,383 个文件,而 16,383 * 4 是 65,532,这使你达到了极限。仔细观察,每个文件名有 39 个字符,即 39 个字节:正好是 13 * 3。因此,每个文件名有 3 个目录条目,第四个目录条目用于实际文件内容。
您可以通过以下任一方式解决此问题: