[英]What is the maximum allowed depth of sub-folders?
起初我想问“Windows操作系统允许的最大子文件夹是什么”
但后来我想,也许我的网络托管服务提供商不是在Windows上,而是在Linux或其他东西上。 所以我想问一下,虚拟主机提供商通常会使用的所有主要操作系统的最大允许子文件夹是什么。 (说Linux,Mac或Windows会安全吗?)
然后,根据您的经验,网站托管网站是否限制了我们可以制作的子文件夹数量?
(为什么会这样?因为我希望每个用户都有自己的文件夹,以便轻松访问他们的图像。这样可以吗?或者这是不好的做法?编程还是新手。)
限制不在于嵌套子目录的深度(您可能有几十个,甚至更多),但在文件系统及其配额上。
具有非常长的文件路径也是不方便的(并且可能稍微低效)。 以编程方式,可以有几百甚至几千个字符的文件路径; 但是人类的大脑无法记住这么长的文件路径。
大多数文件系统(在Linux上)对其inode数量有固定限制。
某些文件系统在包含一万个条目的目录中表现不佳(例如,因为搜索是线性的而不是二分法)。 你很难处理它们(例如,即使ls *
输出太长)。 因此,有/somepath/a/0001
... /somepath/z/9999
而不是/somepath/a0001
... /somepath/z9999
可能是明智的
如果您的目录中有成千上万的用户,您可能希望例如按用户的首字母对用户进行分组,例如有/some/path/A/userAaron/images/foobar
和/some/path/B/userBasile/images/barfoo
等所以/some/path/A/
只有几百个子目录等...
一个方便的经验法则可能是: 避免 每个目录 中有超过几百个条目 -子目录或文件 。
某些Web应用程序将小数据块存储在SQL数据库的各个行中,并使用文件(可能生成其名称)用于较大的数据块,并将文件路径存储在数据库中。 拥有数百万个文件,大多数只有几十个字节可能效率不高。
一些系统管理员也在文件系统上使用配额 。
在Windows中,任何路径中都有260个字符的限制。 这包括文件名,因此文件不能包含超过260-directory path length
字符。
这意味着您可以拥有相当多的子目录,但随着您的深入,最大文件名会变短。
其他一些非常重要的是性能。 使用Windows,如果你开始获得超过5k文件,它开始变慢,10k它爬行,50k变得完全无法使用!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.