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

chr*_*ris 18 linux

使用 Redhat,如果这有区别的话。

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

Mat*_*hew 22

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


Pek*_*kka 12

在 ext2 中,根据 Wikipedia - http://en.wikipedia.org/wiki/Ext2fs#File_system_limits为 32,768 。取决于您使用的文件系统。

  • 是的。文件夹计数附加到文件系统,而不是操作系统。 (3认同)

小智 5

您可能需要考虑您正在尝试做的任何事情的替代方案。即使您保持在文件系统限制以下(例如,ext2 为 32k),在单个目录中存储数以万计的文件至少可以说很麻烦。

一种可能性是您正在尝试将文件系统用于更适合数据库的用途。考虑将数据存储在 PostgreSQL、MySQL 甚至 sqlite 数据库中。没有太多的文件系统能够很好地处理大量文件——移动或备份数据会很慢。

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

a/aaron.dat
a/alex.dat
a/alan.dat
b/bill.dat
b/brian.dat
Run Code Online (Sandbox Code Playgroud)

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

a/a/aaron.dat
a/l/alex.dat
a/l/alan.dat
Run Code Online (Sandbox Code Playgroud)

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

2009-10-04/logfile-01.txt
2009-10-05/logfile-01.txt
2009-10-05/logfile-02.txt
Run Code Online (Sandbox Code Playgroud)

在这种特殊情况下,您可能还希望执行一项作业,将旧日志打包到压缩的 tarball 中,以减少文件数量。