UNIX 标准是否要求区分大小写的文件系统?

UNIX 标准是否要求区分大小写的文件系统?

一个答案这个问题提到了OSX 的 UNIX 03 认证。现在 AFAIK OSX 的标准文件系统是/曾经是高频FS,它“保存创建或重命名的文件的大小写,但在操作中不区分大小写”(即它是大小写-保存但案例-不敏感的)。

UNIX 认证或 POSIX 是否需要案例-敏感的文件系统?

答案1

根据 POSIX 规范

系统可能提供非标准扩展。这些是 POSIX.1-2008 不需要的功能,可能包括但不限于:

--剪断--

  • 不合格的文件系统(例如,_POSIX_NO_TRUNC 为 false 的旧文件系统、不区分大小写的文件系统或网络文件系统)

--剪断--

因此,看起来区分大小写是常态,但支持不兼容(不区分大小写)的文件系统并且仍然可以将您的产品称为 UNIX,只要它也支持区分大小写的文件系统。

(编辑)

其实看看规范的这一部分

关于文件名中的大小写折叠,提出了两项​​建议:

  1. 删除以前允许大小写折叠的所有措辞。

基本原理

大小写折叠与可移植文件名字符集和文件名定义(除 <slash> 和 null 之外的所有字节)不一致。没有已知的实现允许除 <slash> 和 null 之外的所有字节也进行大小写折叠。

  1. 将“尽管不建议这样做”更改为“尽管强烈建议不要这样做”。

基本原理

如果 POSIX.1 中必须包含大小写折叠,则措辞应该更强硬以阻止这种做法。

共识选择了第一个提案。否则,符合要求的应用程序必须假设在不需要时会发生大小写折叠,但在需要时不会发生。

所以它看起来像是故意留下歧义的——既没有明确允许也没有明确禁止。

相关内容