Windows 및 Linux에서 대소 문자 구분 파일 확장자


10

리눅스에서는 파일 example.JPGexample.jpg같은 디렉토리에 있을 수 있습니다 .

Windows에서는 대소 문자 구분 확장자가 있지만이 두 파일을 동일한 디렉토리에 넣을 수는 없습니다. 왜 안돼?


1
가능한 모든 버전의 Windows는 대소 문자를 구분하지 않습니까? (아마 그보다 더 좋은 질문이있다)
콜 존슨

FAT는 기본 이름과 별개로 확장명을 보유했으며 OS .는 입력 및 표시 목적으로 추가했습니다 . (현재 요즘은 상호 운용성을 제외하고는 아무도 FAT를 사용하지 않는다고 말하는 것이 안전하다고 생각합니다.) NTFS가 어떻게 작동하는지 정확히 알지 못하지만 모든 주요 Linux 파일 시스템과 유사하다고 생각합니다. 문자열 파일 확장자에 대한 특별한 사항은 없습니다 : 그것은 단순히 관례에 의한 것이며 파일 시스템에 의해 파일 이름의 일부로 취급됩니다.
CVn

조회 ObCaseInsensitivesuperuser.com/q/266110/59271
user541686

@grawity는 단지 tomayto, tomahto의 경우가 아닙니까?
wvdz

답변:


32

Windows에서는 대소 문자 구분 확장자가 있지만이 두 파일을 동일한 디렉토리에 넣을 수는 없습니다. 왜 안돼?

드라이브가 NTFS로 포맷되어있는 경우가 있습니다 모두 가지고 example.JPGexample.jpg.

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


NTFS 볼륨에서 파일 이름이 대소 문자 구분

POSIX 준수 요구 사항의 일부로 Windows NT 파일 시스템 (NTFS)은 대소 문자를 구분하는 파일 및 디렉토리 명명 규칙을 제공합니다. NTFS와 POSIX 하위 시스템이 각각 대 / 소문자를 잘 처리하더라도 16 비트 Windows 기반, MS-DOS 기반, OS / 2 기반 및 Win32 기반 응용 프로그램은 그렇지 않습니다 .

NTFS에서는 동일한 디렉토리에 저장된 고유 한 파일 이름을 만들어 경우에 따라 다릅니다. 예를 들어 다음 파일 이름은 NTFS 볼륨의 한 디렉토리에 공존 할 수 있습니다.

CASE.TXT
case.txt
case.TXT

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

...

NTFS는 NTFS와 상호 작용하는 응용 프로그램의 하위 시스템에서 선택할 수있는 약간 다른 두 가지 작동 모드를 지원합니다. 첫 번째는 대소 문자를 구분하며 디스크에서 파일을 선택해야하는 경우를 포함하여 응용 프로그램에서 제공 한 파일 이름이 디스크에 저장된 이름과 일치해야합니다. 두 번째 작동 모드는 대소 문자를 구분하지만 대소 문자를 구분하지는 않습니다. 이는 제공된 이름이 디스크에 저장된 이름과 다른 경우에도 응용 프로그램이 디스크에서 파일을 선택할 수 있음을 의미합니다. 두 모드는 파일을 작성하는 데 사용 된 대소 문자를 유지합니다. 여기에 언급 된 동작의 차이는 응용 프로그램이 기존 파일을 찾아야하는 경우에만 적용됩니다. POSIX는 대 / 소문자 구분 모드를 사용하는 반면 MS-DOS, WOW 및Win32 하위 시스템은 대소 문자를 구분하지 않는 모드를 사용합니다 .

소스 파일 이름은 NTFS 볼륨에서 대소 문자를 구분합니다 .


실제로, 나는 이것을 달성 할 수 없었다

경우에만 다른 동일한 디렉토리에서 두 파일을 얻으려면 Posix 하위 시스템 을 활성화해야합니다 .

POSIX는 대 / 소문자를 구분하는 모드를 사용하는 반면 MS-DOS, WOW 및 Win32 하위 시스템은 대 / 소문자를 구분하지 않는 모드를 사용합니다.

Posix를 활성화하려면 다음을 참조하십시오.


이것은 나에게 뉴스입니다. 인용문이 있더라도 실제로는 이것을 달성 할 수 없었기 때문에 나는 이것을 일시적으로 줄였다 . 이것이 실제로 어떻게 달성 될 수 있는지에 대한 지침을 제공 하시겠습니까?
MDMoore313

7
@BigHomie 그게 당신을 막고있는 Windows 쉘입니다. NTFS는 a.JPG와 a.jpg를 같은 디렉토리에 보관할 수 있습니다. Unix Subsystem (더 이상 사용되지 않음)을 사용하면 Windows 탐색기 셸에서도 파일 이름이 대소 문자를 구분합니다. technet.microsoft.com/ko-kr/library/cc771470.aspx
Furkan Omay 2012

1
@FurkanOmay 좋은 오래된 유닉스 서브 시스템입니다. 감사합니다.
MDMoore313

1
@FurkanOmay 나는 당신이 무엇을 의미하는지 알고 있었다.)
MDMoore313

@BigHomie 답변 posix를 활성화하는 방법을 설명하기 위해 업데이트되었습니다
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-32KB의 RAM을 가지고 운이 좋을 때 실제로 유용한 작업을 수행하는 응용 프로그램을 보유해야 할 경우 일관된 방식으로 수행하기가 어렵지 않지만 일관된 방식으로 수행하기는 어렵습니다.
CVn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.