이미 알고 있듯이 Windows 파일 시스템 인 NTFS는 파일 및 폴더 이름을 대소 문자를 구분하지 않습니다. 예를 들어 OS 및 앱의 경우 MyFile.txt와 myfile.txt는 동일한 파일입니다. 그러나 Linux에서는 상황이 다릅니다. 이 OS의 경우 두 개의 다른 파일이 있습니다. 이러한 동작 차이로 인해 WSL 사용자에게 문제가 발생할 수 있습니다. 이를 해결하기 위해 Windows 10에는 폴더에 대해 대소 문자 구분 모드를 활성화하는 기능이 포함되어 있습니다.
광고
당신이 사용한 경우 Linux 용 Windows 하위 시스템 , 아마도 Windows 파일 시스템 (/ mnt / c, / mnt / d 등에 마운트 됨)을 대소 문자를 구분하는 것으로 취급 할 수 있다는 것을 알고 계실 것입니다. 즉, 이름이 대소 문자 만 다른 파일을 만들 수 있습니다 (예 : foo.txt 및 FOO.TXT).
그러나 Windows에서 이러한 파일을 사용하는 것은 실제로 불가능했습니다. Windows 응용 프로그램은 파일 시스템을 대소 문자를 구분하지 않는 것으로 취급하므로 이름이 대소 문자 만 다른 파일을 구별 할 수 없습니다. 파일 탐색기는 두 파일을 모두 표시하지만 클릭 한 파일에 관계없이 하나만 열립니다.
Windows 내부자 빌드 17093부터 Windows에서 대소 문자 구분 파일을 처리하는 새로운 방법이 있습니다. 디렉토리 별 대소 문자 구분입니다. 이 기능은 사용자가 대소 문자를 구분하는 파일을 사용할 때 더 나은 상호 운용성을 제공하기 위해 추가되었습니다. 또한 일반 Windows 응용 프로그램과 함께 사용할 수 있습니다. Windows 10 빌드 17110부터이 동작이 기본값입니다.
자세한 내용은
Windows의 대소 문자 구분
Windows NT 운영 체제 제품군 (Windows 10 포함)은 항상 대소 문자를 구분하는 파일 시스템 작업을 수행 할 수있었습니다. 응용 프로그램은FILE_FLAG_POSIX_SEMANTICS
에 플래그CreateFile
경로가 대소 문자를 구분하여 처리되기를 원함을 나타내는 API입니다. 그러나 호환성을 위해이 동작을 무시하는 전역 레지스트리 키가 있습니다. 이 키가 설정되면 모든 파일 작업은 대소 문자를 구분하지 않습니다.FILE_FLAG_POSIX_SEMANTICS
플래그가 지정됩니다. Windows XP부터 이것이 기본값이었습니다.
누군가가 읽음 확인없이 귀하의 imessage를 읽었는지 확인하는 방법
Linux 용 Windows 하위 시스템은 자체적으로 해당 레지스트리 키를 우회하는 다른 메커니즘을 사용하여 대소 문자를 구분하는 파일 시스템 작업을 수행 할 수 있습니다. 이를 통해 WSL에서 실행되는 Linux 응용 프로그램은 해당 전역 레지스트리 키 집합을 사용하더라도 실제 Linux에서와 마찬가지로 대소 문자 만 다른 파일 이름을 사용할 수 있습니다.
안타깝게도 Windows 응용 프로그램에서 액세스 할 수없는 파일이 남게됩니다. 전역 레지스트리 키를 변경할 수는 있지만 여전히 사용하는 응용 프로그램에서만 작동합니다.FILE_FLAG_POSIX_SEMANTICS
, 그러면 모든 드라이브의 모든 파일에 대한 동작이 변경되어 의도하지 않았으며 일부 응용 프로그램이 중단 될 수 있습니다.
디렉토리 별 대소 문자 구분
이 문제를 해결하기 위해 Microsoft는 디렉터리에 적용 할 수있는 새로운 대소 문자 구분 플래그를 추가했습니다. 이 플래그가 설정된 디렉토리의 경우 해당 디렉토리의 파일에 대한 모든 작업은FILE_FLAG_POSIX_SEMANTICS
지정되었습니다. 즉, 대소 문자 구분으로 표시된 디렉토리에 대소 문자 만 다른 두 개의 파일이있는 경우 모든 응용 프로그램이 해당 파일에 액세스 할 수 있습니다.
폴더에 대소 문자 구분 모드 사용
이 기능을 활성화하거나 비활성화하려면 기본 제공 fsutil.exe 앱을 사용해야합니다.
폴더에 대소 문자 구분 모드를 사용하려면 , 다음을 수행하십시오.
- 열다 상승 된 명령 프롬프트 .
- 다음 명령을 입력하십시오.
fsutil.exe 파일 setCaseSensitiveInfo '폴더의 전체 경로'활성화
경로 부분을 PC와 일치하는 올바른 경로로 대체하십시오.
예를 들면fsutil.exe 파일 setCaseSensitiveInfo 'C : data Winaero Linux'활성화
- 완료되었습니다.
이제 이름이 같고 대소 문자 만 다른 두 개의 파일을 만들 수 있습니다. Windows 10은이 특정 폴더에서 올바르게 처리합니다.
최신 버전의 iTunes에서 생성되었으므로 itunes 라이브러리를 읽을 수 없습니다.
폴더의 기능 상태를 보려면 다음 명령을 실행하십시오.
fsutil.exe 파일 queryCaseSensitiveInfo '폴더의 전체 경로'
예를 들면
fsutil.exe 파일 queryCaseSensitiveInfo 'C : data Winaero Linux'
다음과 같은 내용이 표시됩니다.
테라 리아에서 실크를 만드는 방법
드디어, 폴더의 대소 문자 구분 모드를 비활성화하려면 , 관리자로 열린 명령 프롬프트에서 다음 명령을 실행하십시오.
fsutil.exe 파일 setCaseSensitiveInfo 'C : data Winaero Linux'비활성화
올바른 폴더 경로를 사용하면 완료됩니다.
노트 : 비어 있지 않은 폴더에 대한 CaseSensitiveInfo 속성 비활성화는 지원되지 않습니다. 비활성화하기 전에 폴더에서 모든 파일을 제거해야합니다.
그게 다야.