Linux中一个文件夹中允许的最大文件夹数是多少?


17

如果使用Redhat,那会有所作为。

有默认限制吗?可以更改吗?如果没有,是否有任何变通办法来增加目录中允许的文件夹数量?

Answers:


22

这取决于您的发行版使用什么文件系统。如果您使用较新的桌面发行版(即Ubuntu 9.10,Fedora的最新版本),则可能使用ext4。如果您使用的是旧版本,则很可能是ext3。



4

您可能想考虑要尝试执行的操作的替代方法。即使您处于文件系统限制之内(例如,ext2为32k),至少可以说在单个目录中存储成千上万个文件也很麻烦。

一种可能是您正在尝试将文件系统用于更适合数据库的内容。考虑将数据存储在PostgreSQL,MySQL或什至sqlite数据库中。没有太多文件系统可以很好地处理大量文件-移动或备份数据将很慢。

如果确实需要存储大量文件,请考虑使用其他目录结构。例如,您也许可以按字母顺序分隔文件,例如:

a/aaron.dat
a/alex.dat
a/alan.dat
b/bill.dat
b/brian.dat

这种方法可以通过增加分离深度来扩展,例如:

a/a/aaron.dat
a/l/alex.dat
a/l/alan.dat

或者,如果您要输入每日日志文件或接收每日交货,则可以按日期将它们分开,例如:

2009-10-04/logfile-01.txt
2009-10-05/logfile-01.txt
2009-10-05/logfile-02.txt

在这种情况下,您可能还想计划一项工作,将旧日志打包到压缩的tarball中,以减少文件数量。


1

文件夹限制是为什么必须处理任意数量文件的企业系统将基于文件名的哈希存储在一个或两个子目录中的原因。例如,使用md5()作为文件名,并使用前四个字节作为子文件夹来存储文件。对于其他级别,请使用下4个用于其他子文件夹,或之后使用下4个,依此类推。大多数系统的深度永远不会超过2个级别。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.