请参阅下面的错误消息,我在尝试使用Python的本机操作系统库创建新目录时得到此消息。
...
File "files.py", line 93, in create_dir
os.makedirs(d)
File "/usr/lib/python2.7/os.py", line 150, in makedirs
makedirs(head, mode)
File "/usr/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 31] Too many links: '/var/lib/kaas/77520'
我可以看到此目录中已有超过32000个目录
$ ll | wc -l
32001
操作系统级别是否有限制可以创建多少目录或导致此问题的原因?或者这是Python的限制吗?
我正在运行Ubuntu 12.04.4 LTS。
答案 0 :(得分:7)
32000目录条目限制是文件系统级别的ext3限制。
答案 1 :(得分:2)
这是一个ext3文件系统限制
查看http://en.wikipedia.org/wiki/Ext3#cite_note-17
您可以升级到ext4,在ext4中没有关于子目录的限制
http://en.wikipedia.org/wiki/Ext4#cite_note-12
答案 2 :(得分:1)
您的文件系统可能使用32000子目录限制(在许多系统上是默认设置,但通常ext3似乎有一个可在创建FS时设置的变量限制)。因此,目录中可以拥有的最大子目录数为31,998。查看这篇文章:http://blog.ryanrampersad.com/2008/08/warning-mkdir-too-many-links/(评论很有意思)