
我正在尝试解压几个 tar 文件。我遇到了类似这样的问题
tar:NCBI_SRA_Metadata_Full_20110601/SRA037312:无法 mkdir:链接过多
目录中可以存在的文件数量有限制吗?我检查了 du -i,发现 IFree 仍然是 51M。所以在我看来,inode 并没有用完。
答案1
是的,目录中可以存在的文件数量是有限制的。但该限制取决于您使用的文件系统,并且可能取决于您格式化文件系统时使用的选项。
默认情况下,ext3(我相信 ext2 也是如此)的限制是 32,000 个文件。
编辑:进一步阅读以及我自己的测试表明,32,000 个文件的限制在具有 ext3 的现代内核中不再是问题。 然而,仍然有 32,000 个子目录的限制,因此虽然 JdeBP 的评论在技术上是正确的,但是 huggie 问了,而我回答了错误的问题……答案的要点是一样的。
考虑这个测试:
$ mkdir asdf
$ for x in $(seq 1 32000); do mkdir $x; done
mkdir: cannot create directory `31999': Too many links
mkdir: cannot create directory `32000': Too many links