NTFSの大文字と小文字が区別されるのはなぜですか?


24

私は個人的に、NTFSは大文字と小文字を区別しないと思っていました。cmd、CMD、cMd、またはCmDを入力してもコマンドプロンプトが表示されるからです。しかし、なぜCHKDSK x: /f /r、いくつかのファイルの大文字化を修正するのはなぜですか?大文字と小文字を区別しなければ、それは重要ではなく、CHKDSKはそれが実際にCMDかcmdかをチェックすべきではありません。私は正しいですか?ファイルシステムのどこで実際に問題になりますか?


25
「大文字と小文字を区別する」と「大文字と小文字を区別する」は2つの別個のものであることに注意してください。NTFSは、Win32名前空間では大文字と小文字を区別しますが大文字と小文字を区別しませんが、POSIX名前空間では大文字と小文字を区別できます。
grawity

回答:


34

ファイルシステムの大文字と小文字の区別は、オペレーティングシステムの区別とは別の問題です。最新のWindowsリリースはNTカーネルに基づいており、NTカーネルはNT以外のWindows 95およびMS-DOSの多くのプロパティを継承します。NTカーネルとともに、ファイルシステムNTFSは大文字と小文字を区別するように、つまりPOSIXに準拠するように設計されています

Win32サブシステムは、大文字と小文字の区別のみが異なるファイル名をサポートしていませんが、低レベルのシステムコールでこれらのファイルを作成することは可能です。


1
Windowsでそのようなファイルを作成する簡単な方法を知りません。ただし、FILE_FLAG_POSIX_SEMANTICSビットを使用してCreateFile()APIを呼び出すと、プログラムでジョブを実行する必要があります。
フランク

2
@Luke:Win32は大文字と小文字を区別するファイルをサポートしません。OSサブシステムにAPI呼び出しを行う必要があります。 osronline.com/article.cfm?id=91
surfasb

2
@Luke:簡単な方法の1つは、LinuxシステムからNTFSドライブをマウントして、そこに希望のファイルを作成することです:)
Hippo

1
適切なバージョンのWindows NTがインストールされていることを確認し、UNIXベースアプリケーション用サブシステムユーティリティをインストールしてください。
JdeBP

1
@ルーク:いつものように、ウィキペディアは救助に。:-)
afrazier

7

実際に問い合わせているのはNTFSではありません。

NTFSはファイルシステムです。あなたの質問は、Windowsコマンドシェルの大文字と小文字の区別に関するものです。それらは完全に異なっています。Windowsエクスプローラーはグラフィカルコマンドシェルです。entringによってcmd(スタートで|たとえばファイル名を指定して実行)次のコマンドを実行するには、Windowsのコマンドシェルを言っているcmd(これ自体は実際には別のコマンドシェルですが、コマンドラインがベースではなく、グラフィカル)。

同様に、CHKDSKは、CMDを使用したかcmdを使用したかについて、いかなる種類のチェックも行いません。CHKDSKが認識しているのは、渡されるパラメーターのみです。この場合、x:、/ f、および/ rです。

CHKDSKの「大文字の修正」については、あなたがそこで何を意味するのかよくわかりません。


4
NTFSでは大文字と小文字が区別されます。MS KBの記事100625によると、NTFSでは、同じディレクトリに格納され、大文字と小文字のみが異なる一意のファイル名を作成できます。たとえば、次のファイル名はNTFSボリューム上の1つのディレクトリに共存できます。CASE.TXT case.txt case.TXTただし、メモ帳などのWin32アプリケーションでこれらのファイルの1つを開こうとすると、アクセス権しかありません。 [ファイルを開く]ダイアログボックスに入力するファイル名の大文字と小文字に関係なく、ファイルの1つに。
フランク

それは本当です、それを明確にしてくれてありがとう。とにかくここで問題になっているものではないので、私は答えからそのビットを取りました。
squillman

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

4
@Synetech:最初の、おそらく?ディレクトリ内のファイルの順序と、場合によってはムーンフェイズに依存します。
grawity

5

chkdsk.exeが「一部のファイルの大文字を修正する」という質問の質問者の主張は、実際には特定の状況下で発生するCHKDSKからのメッセージによって促されていると思われます。

大文字ファイルのエラーを修正する

基本的に、これは、Windows XP ベースまたはWindowsでChkdsk.exeを実行する際のエラーメッセージで説明されているように、Windows XPバージョンのchkdsk.exeが新しいバージョンのWindowsでフォーマットされたNTFSボリュームに対して実行されているために発生しますServer 2003ベースのコンピューター:「大文字ファイルのエラー修正」。結論として、これは実際にはエラーではなく、大文字と小文字の区別とは関係ありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.