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

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

하나의 답변에게이 질문를 언급한다OSX의 UNIX 03 인증. 이제 AFAIK는 OSX의 표준 파일 시스템입니다.HFS, "생성되거나 이름이 변경되었지만 작업 시 대소문자를 구분하지 않는 파일의 대소문자를 저장합니다"(예: 대소문자-보존하지만 경우-둔감하다).

UNIX 인증 또는 POSIX에는 다음과 같은 사례가 필요합니까?예민한파일 시스템?

답변1

POSIX 사양에 따르면:

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

--한조각--

  • 비준수 파일 시스템(예: _POSIX_NO_TRUNC가 false인 레거시 파일 시스템, 대소문자를 구분하지 않는 파일 시스템 또는 네트워크 파일 시스템)

--한조각--

따라서 대소문자 구분이 표준인 것처럼 보이지만 비호환(대소문자 구분) 파일 시스템을 지원하고 대소문자 구분 파일 시스템도 지원할 수 있는 한 제품을 UNIX라고 부르는 것이 가능합니다.

(편집하다)

사실, 참조사양의 이 부분:

파일 이름으로 케이스를 접는 것과 관련하여 두 가지 제안이 받아들여졌습니다:

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

이론적 해석

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

  1. "이 방법은 권장되지 않지만"을 "이 방법은 권장되지 않지만"으로 변경합니다.

이론적 해석

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

합의는 첫 번째 제안을 선택했습니다. 그렇지 않으면, 적합한 애플리케이션은 케이스 접기가 원하지 않을 때 발생하지만 원할 때는 발생하지 않을 것이라고 가정해야 합니다.

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

관련 정보