UNIX 標準では大文字と小文字を区別するファイルシステムが必要ですか?

UNIX 標準では大文字と小文字を区別するファイルシステムが必要ですか?

一つの答えこの質問言及しているOSXのUNIX 03認定今のところ、OSXの標準ファイルシステムはHFSこれは、「作成または名前変更されたファイルの大文字と小文字を保存しますが、操作では大文字と小文字を区別しません」(つまり、大文字と小文字が区別されます)。保存するしかし、ケース-無神経な)。

UNIX認証やPOSIXでは大文字と小文字の区別が必要ですか?センシティブファイルシステム?

答え1

POSIX仕様によれば:

システムは非標準の拡張機能を提供する場合があります。これらは POSIX.1-2008 で必須ではない機能であり、次のようなものがありますが、これらに限定されません。

- をちょきちょきと切る -

  • 非準拠のファイルシステム(たとえば、_POSIX_NO_TRUNC が false であるレガシーファイルシステム、大文字と小文字を区別しないファイルシステム、またはネットワークファイルシステム)

- をちょきちょきと切る -

したがって、大文字と小文字を区別することが標準のように見えますが、大文字と小文字を区別するファイルシステムもサポートできる限り、非準拠 (大文字と小文字を区別しない) のファイルシステムをサポートし、製品を UNIX と呼ぶことは可能です。

(編集)

実際、仕様のこの部分:

ファイル名の大文字と小文字の区別に関して、次の 2 つの提案が検討されました。

  1. これまで大文字と小文字の区別を許可していたすべての文言を削除します。

根拠

大文字と小文字の変換は、ポータブル ファイル名の文字セットおよびファイル名の定義 (<スラッシュ> と null 以外のすべてのバイト) と一致しません。<スラッシュ> と null 以外のすべてのバイトを許可する既知の実装でも、大文字と小文字の変換は実行されません。

  1. 「ただし、この方法は推奨されません」を「ただし、この方法は強く推奨されません」に変更します。

根拠

POSIX.1 に大文字小文字の区別を含める必要がある場合は、その慣行を阻止するために、より強力な文言を使用する必要があります。

合意により最初の提案が選択されました。そうでない場合、準拠アプリケーションは、大文字と小文字の変換が不要なときには発生し、必要なときには発生しないと想定する必要があります。

したがって、これは意図的に曖昧にされているように見えます。つまり、明示的に許可も禁止もされていないのです。

関連情報