UNIX 표준에서는 대소문자를 구분하는 파일 시스템이 필요합니까?

UNIX 표준에서는 대소문자를 구분하는 파일 시스템이 필요합니까?

답변도착하다이 문제말하는OSX용 UNIX 03 인증. AFAIK OSX의 표준 파일 시스템은 다음과 같습니다.고주파 FS, "생성되거나 이름이 변경된 파일의 대소문자를 유지하지만 작업에서 대소문자를 구분하지 않습니다"(예: 대소문자-구하다그런데 사건은 -민감하지 않다).

UNIX 인증 또는 POSIX에는 대소문자가 필요합니까?예민한파일 시스템?

답변1

POSIX 사양에 따르면:

시스템은 비표준 확장을 제공할 수 있습니다. 이는 POSIX.1-2008에서 요구되지 않는 기능이며 다음을 포함하지만 이에 국한되지는 않습니다.

--전단--

  • 규정되지 않은 파일 시스템(예: _POSIX_NO_TRUNC가 false로 설정된 레거시 파일 시스템, 대소문자를 구분하지 않는 파일 시스템 또는 네트워크 파일 시스템)

--전단--

따라서 대소문자 구분이 표준인 것처럼 보이지만 호환되지 않는(대소문자 구분 안 함) 파일 시스템을 지원하고 대소문자 구분 파일 시스템도 지원하는 한 제품을 UNIX라고 부릅니다.

(편집하다)

실제로 살펴보세요사양의 이 부분:

파일 이름의 대소문자 접기와 관련하여 두 가지 제안이 있었습니다.

  1. 이전에 케이스 접기를 허용했던 모든 문구를 제거하십시오.

근본적인

대소문자 접기는 이식 가능한 파일 이름 문자 집합 및 파일 이름 정의(<슬래시> 및 null을 제외한 모든 바이트)와 일치하지 않습니다. 알려진 구현에서는 <slash> 및 null을 제외한 모든 바이트의 대소문자 구분도 허용하지 않습니다.

  1. "권장하지 않지만"을 "강력히 권장하지 않지만"으로 변경합니다.

근본적인

POSIX.1에 대소문자 구분이 포함되어야 한다면 이러한 관행을 방지하기 위해 문구를 더 강력하게 작성해야 합니다.

합의에 따라 첫 번째 제안이 선택되었습니다. 그렇지 않으면, 적합한 애플리케이션은 케이스 폴딩이 필요하지 않을 때 발생하지만 필요할 때는 발생하지 않는다고 가정해야 합니다.

따라서 명시적으로 허용되지도 명시적으로 금지되지도 않은 채 의도적으로 모호하게 남겨진 것처럼 보입니다.

관련 정보