NTFS는 대소 문자를 구분하는 이유는 무엇입니까?


24

개인적으로 NTFS는 대소 문자를 구분하지 않는다고 생각했습니다 .cmd, CMD, cMd 또는 CmD를 입력하고 명령 프롬프트를 계속 볼 수 있기 때문입니다. 그러나 왜 CHKDSK x: /f /r일부 파일에서 대문자를 수정 하는 이유는 무엇입니까? 사건에 대해 신경 쓰지 않는다면 그것에 대해 중요하지 않으며 CHKDSK는 실제로 CMD 또는 cmd인지 확인하지 않아야합니다. 내가 맞아? 파일 시스템에서 실제로 중요한 것은 무엇입니까?


25
"대소 문자 구분"과 "대소 문자 보존"은 별개의 것입니다. NTFS는 대소 문자를 유지하지만 Win32 네임 스페이스에서는 대소 문자를 구분하지 않지만 POSIX 네임 스페이스에서는 대소 문자를 구분할 수 있습니다.
grawity

답변:


34

파일 시스템의 대소 문자 구분은 운영 체제의 대소 문자 구분과 다릅니다. 최신 Windows 릴리스는 NT 커널을 기반으로하며 NT 커널이 아닌 Windows 95 및 MS-DOS의 많은 속성을 상속합니다. NT 커널과 함께 파일 시스템 NTFS는 POSIX를 준수 하도록 대소 문자를 구분하도록 설계되었습니다 .

Win32 하위 시스템은 대 / 소문자를 구분하는 파일 이름 만 지원하지 않지만 시스템 호출 수준이 낮은 파일을 만들 수 있습니다.


1
Windows에서 이러한 파일을 만드는 쉬운 방법을 알지 못합니다. 그러나 FILE_FLAG_POSIX_SEMANTICS 비트로 CreateFile () API를 호출하면 프로그래밍 방식으로 작업을 수행해야합니다.
Frank

2
@Luke : Win32는 대소 문자 구분 파일을 지원하지 않습니다. OS 서브 시스템에 API 호출을해야합니다. osronline.com/article.cfm?id=91
surfasb

2
@Luke : 한가지 쉬운 방법은 리눅스 시스템에서 NTFS 드라이브를 마운트하고 원하는 파일을 만드는 것입니다 :)
Hippo

1
올바른 버전의 Windows NT가 있는지 확인하고 UNIX 기반 응용 프로그램 용 하위 시스템 유틸리티 인 people을 설치하십시오.
JdeBP

1
@Luke : 평소와 같이 Wikipedia 를 구출합니다. :-)
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 볼륨의 한 디렉터리에 공존 할 수 있습니다. CASE.TXT case.txt case.TXT 그러나 메모장과 같은 Win32 응용 프로그램에서 이러한 파일 중 하나를 열려고하면 액세스 권한 만 갖게됩니다. 파일 열기 대화 상자에 입력 한 파일 이름의 경우에 관계없이 파일 중 하나에
Frank

사실입니다. 명확하게 해주셔서 감사합니다. 어쨌든 여기서 실제로 문제가되는 것이 아니기 때문에 대답에서 조금 벗어났습니다.
squillman

> 그러나 메모장과 같은 Win32 응용 프로그램에서 이러한 파일 중 하나를 열려고하면 파일 열기 대화 상자에 입력 한 파일 이름의 경우에 관계없이 파일 중 하나에 만 액세스 할 수 있습니다 .
Synetech

4
@Synetech : 아마도 첫 번째? 디렉토리의 파일 순서 및 가능하면 달의 단계에 따라 다릅니다.
grawity

5

chkdsk.exe가 "일부 파일에서 대문자를 수정하고있다"고 묻는 질문자의 주장은 실제로 어떤 상황에서 발생하는 CHKDSK의 메시지에 의해 프롬프트됩니다.

대문자 파일의 오류 수정

기본적으로 이는 Windows XP 기반 또는 Windows에서 Chkdsk.exe를 실행할 때 오류 메시지에 설명 된대로 Windows XP 이후 버전의 Windows에서 포맷 된 NTFS 볼륨에 대해 실행되는 chkdsk.exe의 Windows XP 버전에서 발생합니다. Server 2003 기반 컴퓨터 :“대문자 파일에서 오류 수정” . 결과는 실제로 오류가 아니며 대 / 소문자를 구분하는 것과 관련이 없다는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.