시스템 파일이 소문자여야 한다는 표준(예: POSIX)의 일부입니까?

시스템 파일이 소문자여야 한다는 표준(예: POSIX)의 일부입니까?

우리 회사는 브랜드 이름이 대소문자가 혼합된 애플리케이션(예: "ApplicationName")을 재판매합니다.

응용 프로그램의 설치 프로그램은 이 표준에 따라 모든 경로와 파일 이름을 생성합니다. 예를 들어 기본 디렉터리는 이고 /opt/ApplicationName, init 파일이 호출 ApplicationName되므로 실행해야 합니다 service ApplicationName status.

나에게 이것은 모든 합리적인 규칙을 깨뜨리고 파일과 디렉터리는 모두 소문자여야 한다고 생각합니다(파일과 디렉터리가 모두 호출되는 MySQL과 같은 다른 응용 프로그램에는 선례가 있으며 mysqlApache 및 Tomcat과 같은 응용 프로그램에서도 이전의 방식을 사용하지 않습니다). 대문자).

제가 이것을 버그 리포트로 제기한다면 단순히 "틀린 것 같아요"라는 것보다 더 강력한 주장을 펼치고 싶습니다. 그렇다면 POSIX 표준과 같은 시스템 파일은 소문자여야 한다고 규정되어 있습니까?

답변1

아니요, 소프트웨어 패키지 설치 디렉토리에는 소문자 이름이 지정되지 않습니다.

실제로, 역사적으로 설치된 소프트웨어 패키지는 Sun Microsystems 또는 Oracle과 /opt같이 패키지를 제공하는 회사의 전체 자본금 주식 시세 기호로 시작되었습니다 .SUNWORCL

따라서 Sun의 QFS 파일 시스템과 같은 패키지는 /opt/SUNWqfs.

답변2

POSIX 표준에는 다음에 대한 지침이 포함된 섹션이 있습니다.적합 유틸리티(예: "로컬 시스템에 맞게 작성된 것 또는 더 큰 응용 프로그램의 구성 요소인 것")

  1. 유틸리티 이름은 2자에서 9자 사이여야 합니다.
  2. 유틸리티 이름에는 소문자(하위 문자 분류)와 이식 가능한 문자 집합의 숫자만 포함되어야 합니다.

[참조:12.2 유틸리티 구문 지침]

"포함해야 한다"라는 단어의 사용이 실제로 "포함해야 한다"를 의미하는지 확실하지 않습니다.오직(아래 주석의 합의는 "만 포함해야 한다"는 의미입니다).

POSIX 준수 유틸리티라고 주장하지 않는 Unix 시스템의 응용 프로그램은 원하는 이름을 사용할 수 있습니다. 그 경우하다POSIX 준수 유틸리티라고 주장이는 POSIX 쉘 유틸리티의 일부입니다, 섹션 12.2의 지침 뒤의 텍스트에서는 "should"가 의미를 "shall"로 변경한다고 말합니다.

내가 아는 한 디렉토리 이름에 관한 유사한 지침은 없습니다. macOS(이것은인증된 UNIX 03 제품Intel 기반 Mac 컴퓨터에서 실행하는 경우)는 /Users예를 들어 사용자 홈 디렉터리의 접두사로 사용되며 대소문자가 혼합된 기타 여러 디렉터리 이름도 사용됩니다.

답변3

POSIX 지침 외에도 사용자 전통에 더 큰 비중을 둘 수 있다고 생각합니다. "ApplicationName"이라는 사례 이름은 Wiki의 폭발적인 증가로 인기를 얻었고, 일부 사람들(나 같은)은 하이픈이나 공백 대신 대문자를 사용하는 데 익숙해졌습니다. 그러나 이것은 매우 오랜 Unix 전통을 뒤로하고 Linux 및 유사한 OS가 대중화되고 몇 년 후였습니다.

/usr이 전통은 Kusalananda가 지적한 규칙을 따를 뿐만 아니라 4~6자의 약어 단어(예: "사용자", /srv"서브" 또는 /mnt"마운트") 를 따르는 등 항상 단순했습니다. 분명히 더 긴 의미( /sbin"수퍼유저 바이너리"의 경우)입니다. 이 전통에서 대문자는 Shift 키를 누르도록 강요하고 실수로 Caps Lock 키도 누르는 것은 단순히 악입니다.

Unix에서는 오랫동안 대소문자를 구분하는 긴 파일 이름을 작성할 수 있었던 반면, MS-DOS/Windows에서는 대소문자를 구분하지 않는 짧은 파일 이름(8자 + 확장자 3자)으로 제한되었으나 빠르게 손실되었기 때문에 이는 어느 정도 놀라운 일입니다. Windows 95가 이 제한을 뛰어넘는 경우 이러한 단순성("프로그램 파일","내 문서" 등)이 나타납니다.

그럼에도 불구하고 오늘날에는 데몬과 같은 몇 가지 예외가 있으며 NetworkManager아마도 앞으로 더 많은 WikiWord를 보게 될 것입니다. 그러나 우리는 여전히 마우스를 싫어하고 자동 완성으로만 끝날 수 있는 긴 이름을 터미널에 씁니다 TabTab. 아니면 이름을 vim로 바꾸면 어떤 이점이 있다고 생각하는 사람이 있나요 VisualImproved?

관련 정보