无法 mkdir:链接太多

hug*_*gie 2 debian inode

我正在尝试解压几个 tar 文件。我遇到过这样的事情

焦油:NCBI_SRA_Metadata_Full_20110601/SRA037312:无法 mkdir:链接太多

一个目录中可以存在的文件数量是否有限制?我检查了 du -i IFree 仍然是 51M。所以在我看来,inode 并没有用完。

Fli*_*mzy 7

是的,一个目录中可以存在的文件数量是有限制的。该限制取决于您使用的文件系统,并且可能取决于格式化文件系统时使用的选项。

默认情况下,在 ext3(我相信 ext2 也是如此)上,限制是 32,000 个文件。

编辑:进一步阅读以及我自己的测试表明,在使用 ext3 的现代内核中,32,000 个文件限制不再是问题。 但是,仍然有 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
Run Code Online (Sandbox Code Playgroud)