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


29

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

응용 프로그램 설치 관리자는이 표준에 따라 모든 경로와 파일 이름을 만듭니다. 예를 들어 메인 디렉토리는 /opt/ApplicationNameinit 파일이 호출 ApplicationName되므로 실행 service ApplicationName status해야합니다.

나에게 이것은 모든 현명한 규칙을 어 기고 파일과 디렉토리가 모두 소문자이어야한다고 생각합니다 (MySQL과 같은 다른 응용 프로그램에는 파일과 디렉토리가 모두 호출 mysql되며 Apache 및 Tomcat과 같은 응용 프로그램도 앞의 것을 무시합니다 대문자).

이것을 버그 리포트로 올리면 "잘못 된 것"보다 더 강력한 주장을하고 싶습니다. POSIX 표준과 같은 시스템 파일은 소문자 여야한다고 지시 했습니까?


9
또한 추가 버튼 (시프트)을 사용하도록 강요하기 때문에 고객에게는 매우 성가신 일이라고 지적 할 수도 있습니다. 이것은 큰 일처럼 보이지 않을 수도 있지만 (아니요) 그렇지 않습니다.
terdon

5
일부 파일 시스템은 대소 문자를 구분하지 않으므로 간단한 오타를 지적 할 가치가 있습니다 (예 : 실수로 "applicationname"에서 파일을 참조하는 일부 사용자 스크립트)는 일부 시스템에서는 작동하지만 다른 시스템에서는 작동하지 않습니다. 문제는 즉시 해결되지 않으며 나중에 찾는 데 비용이 많이들 수 있습니다. 보다 명백한 "application_name"은이 문제가 발생할 가능성이 적습니다.
Stefan

11
또 다른 반례 : X11과 관련된 것은 파일 이름에 대문자 X가 있습니다 (예 : / usr / X11R6, /usr/lib/libX11.so 등).
유목민 유형

1
X는 오늘 트렌드를 증명하는 예외가되고 싶습니다.
StarWeaver

1
@nomadictype 유닉스 시스템에서 실행하는 것 외에, X 윈도우 시스템은 유닉스 POSIX 표준과 거의 관련이 없습니다.
Kusalananda

답변:


27

POSIX 표준에는 유틸리티준수 하기위한 지침 (예 : "로컬 시스템 전용으로 작성되었거나 더 큰 응용 프로그램의 구성 요소") 섹션 이 있습니다.

  1. 유틸리티 이름은 2 자에서 9 자 사이 여야합니다.
  2. 유틸리티 이름에는 소문자 (소문자 분류)와 휴대용 문자 집합의 숫자 만 포함해야합니다.

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

이 단어의 사용 여부를 정말로 "한다는 뜻"포함해야 "나에게 불분명 포함". (아래 의견에서 합의는 "포함해야 함"을 의미합니다.)

POSIX 호환 유틸리티라고 주장하지 않는 Unix 시스템의 응용 프로그램은 원하는 이름을 사용할 수 있습니다. 이 경우 않는 POSIX의 준수 유틸리티 주장 는 POSIX 쉘 유틸리티의 일부 섹션 12.2의 지침 후 텍스트가 변경가 "하여야한다"를 의미하는 "해야한다"고 말했다.

내가 아는 한 디렉토리 이름에 대한 유사한 지침은 없습니다. macOS ( 인증 된 UNIX 03 제품) Intel 기반 Mac 컴퓨터에서 실행할 때 )는 /Users사용자의 홈 디렉토리 (예 : 다른 대소 문자 혼합 디렉토리 이름 ) 의 접두사로 사용 됩니다.


3
나는 그들이 실제로 어디에서나 POSIX 호환이라고 주장하지는 않는다. 흥미롭게도 응용 프로그램 이름은 10 자이므로 앞면에서도 실패합니다. BTW, 포인트 2를 읽는 방법은 "소문자와 숫자 만 포함해야합니다. 마지막"만 "전체 조항을 다룬다 고 생각합니다. 아마도 질문이있을 수도 있습니다. english.stackexchange.com :)
Darren

3
XBD는 should다음과 같이 정의 합니다. "IEEE Std 1003.1-XXXX를 준수하는 구현의 경우 권장되지만 필수는 아닌 기능 또는 동작을 설명합니다. 응용 프로그램은 기능 또는 동작의 존재에 의존해서는 안됩니다. 이러한 기능에 의존하는 응용 프로그램 응용 프로그램의 경우 최적의 이식성을 위해 권장되는 프로그래밍 방식 인 기능 또는 동작을 설명합니다. "
fpmurphy

5
의 이름 않습니다 응용 프로그램이 시스템의 이름과는 아무 상관이 유틸리티를 ?
Matti Virkkunen

1
@IlmariKaronen 맞습니다. 지침은 표준 자체에 설명 된 유틸리티를 구현하기위한 것입니다.
Kusalananda

3
인용 한 문장에 "전용"이 있습니다. 위원회 편집으로 인해 어색한 점이 있지만 여전히 동일한 효과를 나타냅니다.
hobbs

44

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

실제로, 과거에 설치된 소프트웨어 패키지 는 Sun Microsystems 또는 Oracle /opt과 같이 패키지를 제공하는 회사의 모든 주식 주식 시세 기호 로 시작되었습니다 .SUNWORCL

따라서 Sun의 QFS 파일 시스템과 같은 패키지는 다음과 같은 디렉토리에 설치됩니다 /opt/SUNWqfs.


7
주식 시세 표시기에 대한이 새로운 titbit. 공감. 감사.
Darren

2
나는 그 협약이 SunOS / Solaris에만 적용되었다고 생각합니다.
fpmurphy

3
@ fpmurphy1 아마도. 그러나 Sun이 POSIX 준수를 어떻게 처리했는지를 감안할 때, 선택한 이름 지정 체계가 표준의 일부를 위반하는 것은 의심됩니다. 썬이 오라클이 어떤 이름 지정 체계를 사용하도록 설득하는데 큰 성공을 거두었을 것이라고 생각하지도 않습니다.
Andrew Henle

1
@AndrewHenle, SunOS / Solaris의 SMI 이름 지정 체계는 관련 표준 및 사양을 준수했습니다. POSIX 및 단일 유닉스 규격 모두 정의 should본질적으로it is recommended
fpmurphy

대문자 이름은 견실하고 느낄 채택 --A-메인 프레임에서 :)
rackandboneman

4

POSIX 지침 외에도 사용자 전통에 더 큰 비중을 둘 수 있다고 생각합니다. "ApplicationName"이라는 사례 이름은 Wikis의 폭발로 인해 인기를 얻었으며, 나와 같은 일부 사람들은 하이픈 또는 더 나쁜 공백 대신 대문자를 사용하는 데 익숙했습니다. 그러나 이것은 유닉스 전통이 오래 전부터 Linux와 유사한 OS가 인기를 얻은 지 몇 년이 지났습니다.

이 전통은 Kusalananda가 지적한 규칙을 따르는 것뿐만 아니라 4-6 자 (예 : /usr"사용자"또는 /srv"serve"또는 /mnt"mounted")의 단어 만 줄여도 항상 단순합니다. 분명히 더 긴 의미 (/sbin "슈퍼 유저 바이너리"의 경우).이 전통에서 대문자는 Shift 키를 누르도록하고 실수로 Caps Lock 키를 누르는 것은 단순히 악한 일입니다.

유닉스가 오랫동안 대소 문자를 구분하는 긴 파일 이름을 쓸 수 있었기 때문에 MS-DOS / Windows는 대소 문자를 구분하지 않는 짧은 파일 이름 (8 자 + 확장명은 3 자)으로 제한되었지만 빠르게 손실 되었기 때문에 어느 정도 놀라운 일입니다. Windows 95가이 제한을 초과 할 때의 단순성 ( "프로그램 파일", "내 문서"등)

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


3
/usr"user"의 줄임말이 아닙니다. "Unix system resource"의 약자
fpmurphy

1
@ fpmurphy1은 백두 리 냄새가납니다.
hobbs

3
@ fpmurphy1은 /usr원래 사용자의 홈 디렉토리 ( /home오늘 과 같은 ) 를 포함하는 디렉토리였습니다 . 나는 홉에 동의합니다.
Fran

2
Windows에서는 My Computer디렉토리가 아니며 지금까지 없었습니다. 순전히 쉘 구조입니다. 명령 프롬프트 나 이전 스타일의 Win16 응용 프로그램에서 어떻게 탐색할지 고려하여이를 설명 할 수 있습니다. Program Files현지화 된 이름을 가진 모든 자체 엉망입니다. 나는 가장 최근에 어제 그 문제에 부딪쳤다 . 여기서 소프트웨어는 영어 이름을 가정 Program Files했지만 실제 이름은 시스템에서 현지화되었다. 아마도 Windows 95에서 Microsoft의 더 나쁜 사기 중 하나 일 것입니다.
CVn

@hobbs. @Fran 그냥이를 위해 인터넷을 /usr하고 Unix System Resources 유닉스의 초기 버전, 홈 디렉토리는 또한`는 / usr '에 살고 사용자, 예, 그리고
fpmurphy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.