WindowsおよびLinuxでの大文字と小文字を区別するファイル拡張子


10

Linuxでは、ファイルexample.JPGexample.jpg同じディレクトリに置くことができます。

Windowsでは、大文字と小文字を区別する拡張子がありますが、これら2つのファイルを同じディレクトリに配置することはできません。何故なの?


1
可能性重複しているWindowsケース小文字を区別しないのすべてのバージョン?(おそらくそれよりも良い質問があるでしょう)
コールジョンソン

FATはベース名とは別に拡張子を保持し、OS .は入力および表示用にを追加しました。(最近、相互運用性以外の目的でFATを使用する人はほとんどいないと言っても安全だと思います。)NTFSがどのようにFATを実行するかは正確にはわかりませんが、ファイル名を単に次のように扱うすべての主要なLinuxファイルシステムと似ていると思います。文字列。ファイル拡張子については、特別なことは何もありません。これは慣例によるものであり、ファイルシステムではファイル名の一部として扱われます。
CVn 2015

ObCaseInsensitive
検索

@grawityはtomayto、tomahtoの単なるケースではないですか?
wvdz 2015

回答:


32

Windowsでは、大文字と小文字を区別する拡張子がありますが、これら2つのファイルを同じディレクトリに配置することはできません。何故なの?

ドライブがNTFSとしてフォーマットされている場合は、およびの両方を使用できます。example.JPGexample.jpg

ただし、メモ帳などのWin32アプリケーションでこれらのファイルの1つを開こうとすると、[ファイルを開く]ダイアログボックスに入力したファイル名の大文字小文字に関係なく、ファイルの1つにしかアクセスできなくなります。


NTFSボリュームではファイル名は大文字と小文字が区別されます

POSIX準拠の要件の一部として、Windows NTファイルシステム(NTFS)は、大文字と小文字を区別するファイルとディレクトリの命名規則を提供します。NTFSとPOSIXサブシステムはそれぞれ大文字と小文字を区別しますが、16ビットのWindowsベース、MS-DOSベース、OS / 2ベース、およびWin32ベースのアプリケーションは対応していません

NTFSでは、大文字と小文字のみが異なる、同じディレクトリに格納された一意のファイル名を作成できます。たとえば、次のファイル名はNTFSボリューム上の1つのディレクトリに共存できます。

CASE.TXT
case.txt
case.TXT

ただし、メモ帳などのWin32アプリケーションでこれらのファイルの1つを開こうとすると、[ファイルを開く]ダイアログボックスに入力したファイル名の大文字小文字に関係なく、ファイルの1つにしかアクセスできなくなります。

...

NTFSは、NTFSと対話するアプリケーションのサブシステムによって選択できる、わずかに異なる2つの動作モードをサポートしています。1つ目は完全に大文字と小文字が区別され、ディスク上のファイルを選択する場合は、大文字と小文字を含め、アプリケーションによって提供されるファイル名がディスクに保存されている名前と一致することを要求します。2番目の操作モードでは、大文字と小文字が保持されますが、大文字と小文字は区別されません。つまり、指定された名前がディスクに保存されている名前と異なる場合でも、アプリケーションはディスク上のファイルを選択できます。どちらのモードでも、ファイルの作成に使用された大文字と小文字が保持されることに注意してください。ここで述べた動作の違いは、アプリケーションが既存のファイルを見つける必要がある場合にのみ適用されます。POSIXは、MS-DOS、WOW、およびWin32サブシステムは、大文字と小文字を区別しないモードを使用します

NTFSボリュームでは、ソースファイル名は大文字と小文字が区別されます


実際には、これを達成することができませんでした

同じディレクトリで2つのファイルを作成するには、Posixサブシステムを有効にする必要がある場合のみ異なります。

POSIXは完全な大文字と小文字を区別するモードを利用しますが、MS-DOS、WOW、およびWin32サブシステムは大文字と小文字を区別しないモードを使用します。

Posixを有効にするには、以下を参照してください。


これは私にとってニュースです。引用があっても、実際には達成できなかったので、一時的に反対票を投じなければなりませんでした。これが実際にどのように達成できるかについての指示を提供していただけませんか?
MDMoore313 2015

7
@BigHomieこれがWindowsシェルです。NTFSは、a.JPGとa.jpgを同じディレクトリに保持できます。Unixサブシステム(非推奨)を有効にすると、Windowsエクスプローラシェルでもファイル名の大文字と小文字が区別されます。technet.microsoft.com/en-us/library/cc771470.aspx
Furkan Omay 2015

1
@FurkanOmayわかりました、古き良きUNIXサブシステム、ありがとうございます。
MDMoore313

1
@FurkanOmay私はあなたが何を意味しているのか知っていました;)
MDMoore313

posixを有効にする方法を説明するために@BigHomie Answerを更新
DavidPostill

6

NTFSは大文字と小文字を区別します(ガラスの見方によっては、良いことも悪いこともあります)。実際には、azとAZのASCII値を区別する必要がなかったため、初期の段階では大文字と小文字を区別しないことは困難でした。

最近のWindows OSで使用されているNTFS(ファイルシステム)がPOSIXに準拠するためにサポートできる場合でも、Windows(OS)で大文字と小文字を区別する方法はありません。

Microsoftによると、NTFSの同じディレクトリにexample.JPGとexample.jpgがある可能性がありますが(ここをクリック)、OS(Windowsのすべてのバージョン)はそれをサポートしていないため、ファイルシステムが無意味になる可能性があります。

POSIX準拠の要件の一部として、Windows NTファイルシステム(NTFS)は、大文字と小文字を区別するファイルとディレクトリの命名規則を提供します。NTFSとPOSIXサブシステムはそれぞれ大文字と小文字を区別しますが、16ビットのWindowsベース、MS-DOSベース、OS / 2ベース、およびWin32ベースのアプリケーションは大文字と小文字を区別しません。


1
特にASCIIのようなエンコーディングでは、大文字と小文字を区別しないことはそれほど難しくありません。DOSが、CP / Mがそれを行いました。大文字と小文字を区別せず、大文字と小文字を保存することで、クラックが発生しにくくなります。確かに実行するのは難しくありませんが、16〜32 KBのRAMで遊ぶことができて、実際に役立つことを実行するアプリケーションを保持する必要がある場合に、一貫した方法で実行するのは難しくなります。
CVn 2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.