我知道 fat32 每个目录有 65,000 个文件,那么 linux/debian 呢?
ext4?
答案1
这取决于您的文件系统。Ext3 有以下限制:
- 最大子目录数量:32000(硬编码)
- 最大数量索引节点(整个系统上文件和目录的最大数量):默认值是根据卷大小(以字节为单位)计算的(默认 inode 数量 = V/2^13)
其他文件系统会有不同的限制,有些会限制目录中的文件,而有些则不会。请参阅您的文件系统文档以获取更多信息。
您可以看到 Ext4 的一些限制这个问题。
答案2
在 ext4 上:
- 子目录限制为 64000。
- 最大文件数 40 亿(在文件系统创建时指定)
答案3
那么,你为什么不测试一下你的机器呢?
#!/bin/bash
i=1
mkdir testdir || exit 1
cd testdir || exit 1
while true
do
[ $(($i % 1000)) -eq 0 ] && echo "creating file $i"
touch file.$i || { echo "failed to create file.$i"; exit 1; }
((i++))
done
请不要在生产服务器上运行它。由于它会创建大量文件,系统可能会变得非常缓慢。
还要注意,删除一个包含数千个文件的目录也可能需要很长时间(例如数小时)。