この質問は、先日、ファイル名に関して意見のあるフレームワークに依存する開発プロジェクトに取り組んでいたときに思いつきました。フレームワーク(ここでは無関係)は、大文字が最初のファイル名を表示することを望んでいました。これは私に考えさせられました。
大文字と小文字を区別しないファイルシステムで、extFATまたはHFS +(具体的には大文字と小文字を区別しない)と言うと、ファイルシステムはファイル名の大文字と小文字の両方の同じファイルへのアクセスをどのように提供します。
例えば:
$ cd ~/Documents
$ pwd
/home/derp/Documents
$ cd ../documents
$ pwd
/home/derp/documents
$ cd ../docuMents
$ pwd
/home/derp/docuMents
$ cd ../DOCUMENTS
$ pwd
/home/derp/DOCUMENTS
$ cd ../documentS
$ pwd
/home/derp/documentS
これらのコマンドはすべて同じディレクトリに解決されます。この動作、具体的pwd
にbash
はこの場合の関数からの出力は、私が見たいと思うものを私に見せているだけですか?
もう一つの例:
$ ls ~/Documents
Derp.txt another.txt whatThe.WORLD
ここでのファイルシステムは、ユーザーまたはプログラムによって作成された元のファイル名のケースを報告します。
正しい大文字と小文字のASCII文字の任意の組み合わせでアクセスできるように、ファイルシステムスタックのどの時点で、人間が読み取れるファイル名が作成時に保存されますか(大文字と小文字など)。これはどこか正規表現のトリックなのでしょうか、それとも何か他のことが起こっているのでしょうか?
編集:私が興味を持っている動作は、さらに研究した後、大文字と小文字を区別しないファイルシステムで見つかったようです...