Linux 파일 이름의 소문자


11

긴 복잡한 이름의 첫 글자 분리를 위해 UpperCase를 실제로 읽을 수 있다는 것을 알았을 때 Linux 파일의 일부에 UpperCase를 사용하는 경향이 있습니다. 대부분 실행 파일, 일부 디렉토리.

하지만 리눅스 배포판에있는 모든 파일 이름의 대다수가 소문자라고 말한 것은 몇 주였습니다 ...

그래서 얼마 전에 인터넷 검색을 해본 결과 , Linux File Names 기사를 찾았 습니다. 유닉스 세계에서는 항상 소문자를 사용해야 한다고합니다 .

... 대문자 또는 대소 문자를 사용해야하는 좋은 이유가 없다면 Linux에서는 항상 소문자를 사용 하는 것이 가장 좋습니다 . 대부분의 유닉스 사람들은 거의 독점적으로 소문자를 사용하지만이 "문화적"점 외에 소문자를 사용해야하는 또 다른 이유가 있습니다. Linux와 DOS 파일 시스템을 공유하거나 액세스하는 경우 DOS는 대문자 또는 대소 문자 파일 이름을 가진 파일을 볼 수 없습니다 ...

정말 그렇습니까?


2
네, 정말 그렇습니다. 유닉스 사람들은 시프트 키를 찾지 못하는 것 같습니다. 그러나 대소 문자를 구분하는 규칙을 지원할만한 근거는 없습니다. 그것은 단지 진창입니다.
로스 패터슨

답변:


20

프로그래머는 Shift 키를 사용 하지 않는 것이 좋습니다. "항상 소문자를 사용하십시오"라는 말부터 계속됩니다 ...

대문자 나 대소 문자를 사용해야하는 합당한 이유가 없다면 Linux에서는 항상 소문자를 사용하는 것이 가장 좋습니다. 대부분의 유닉스 사람들은 거의 독점적으로 소문자를 사용 하지만이 "문화적"점 외에 소문자를 사용해야하는 또 다른 이유가 있습니다. Linux와 DOS 파일 시스템을 공유하거나 액세스하는 경우 DOS는 대문자 또는 대소 문자 파일 이름을 가진 파일을 볼 수 없습니다.

이것의 주된 이유는 대소 문자 만 구분 된 두 파일을 대소 문자를 구분하지 않는 시스템으로 전송하는 경우, 대소 문자를 구분하지 않는 시스템에서 혼동이 발생할 수 있기 때문입니다.

리눅스 머신의 파일은 당신의 것입니다. 자신에게 맞는 방식으로 원하는대로하십시오.

나는 것으로 나타났습니다 컨벤션 디렉토리의 선두 편지를 위해 대문자를 사용하여 그것을 쉽게 나를 위해 그들을 이동합니다. 디렉토리에서 'ls'를 수행하면 모든 디렉토리가 자동으로 목록의 맨 위에 배치되고 디렉토리를 파일과 분리하여보다 쉽게보고 탐색 할 수 있습니다. 그러나 다시는 나를 위해 - 작품 일을 당신을 위해 .


1
도스? 정말? 더 이상 관련이 없습니다.
Maximus Minimus 2013

3
@ mh01 저는 작년에 ASCII가 아닌 해당 문자 집합을 전송하는 시스템을 다루어야 할 때까지 EBCDIC이 관련이 없다고 생각했습니다. 나는 OpenVMS 시스템을 보았습니다 (가장 최근 릴리스는 2 년 전이었습니다. 분명히 Mac은 대소 문자를 구분하고 대소 문자를 구분하지 않습니다 (스팀과 포토샵 은 Mac에서 대소 문자를 구분하는 파일 시스템을 좋아하지 않습니다 ). 대소 문자를 구분하지 않습니다.

3
대소 문자를 구분하지 않는 Windows 파일 시스템을 실행하는 대부분의 데스크톱 시스템은 말할 것도 없습니다.
Kilian Foth 2013

대소 문자를 구분하지 않는 대 대소 문자 보존에 대한 좋은 지적이지만 파일 이름의 대소 문자 만 다른 파일이 다른 경우 대소 문자를 구분하지 않는 파일 시스템으로 전송하는 것 외에 혼란을 일으킬 수있는 문제가 있다고 생각합니다. ..
CVn

9

"소비자 중심"(무엇이든) 사용법은 유닉스 세계에서도 타이틀 케이스를 사용하는 경향이 있습니다. 문제의 조직에 사용자 경험에 대해 생각하는 모든 일을하는 사람들이있는 경우가 더 흔합니다.

예를 들어, 내 우분투 데스크탑라는 홈 디렉토리에 폴더가 Downloads, Pictures, Documents같은 내 OSX 노트북에 간다 등, (네,이 카운트, 그것은의 BSD). /Library/Audio/Apple Loops/"클래식"기본 파일 시스템을 모두 소문자 (예 :)로 유지하면서 Apple은 타이틀 케이스 (예 :)를 사용하여 자체 시스템 디렉토리의 이름을 정하는 데까지 도움이됩니다 /usr/libexec/dtrace/. 그러나 내가 아는 Linux 배포판은 사용자의 홈 디렉토리 외부에서 타이틀 케이스를 사용하지 않습니다.

아마도 사람들이 실제로 볼 것으로 기대하는 디렉토리는 제목 케이스이고 사람들이 탐색 하지 않을 것으로 예상되는 장소 는 모두 소문자라는 것입니다. 우분투에서도 비슷한 차이가있다. 노틸러스 창에서 폴더 목록으로 표시 될 것으로 예상되는 디렉토리 만 제목 케이스 인 반면, 입력 (탐색되지 않은) 폴더 이름은 모두 낮습니다.

그것이 핵심입니다. 제목이나 대문자를 입력하기가 더 어렵습니다. 그러나 제목 또는 타일 폴더 목록에서 제목 이 더 좋아 보입니다 . 따라서 그에 따라 선택하십시오. 리눅스 사람들은 평범한 작업에 대해서도 명령 행을 자주 다루므로 소문자가 더 적합합니다.


좋은 점은 있지만 공백이나 밑줄은 다음 낙타 또는 파스칼 경우 쉽게 읽을 것을 추가 할
JK합니다.

4

도스 인수 소개 : DOS / 윈도우 파일 시스템은 않습니다 에 관계없이 사건의 파일을보고, 그들이 벌금을 처리 할 수 있습니다. 아주 오래된 DOS 파일 시스템은 8.3 파일 이름 이외의 것을 지원하지 않지만 FAT32조차도 긴 파일 이름을 처리 할 수 ​​있습니다. 유일한 문제는 DOS / Windows 파일 시스템이 대소 문자를 유지하지만 (대부분의 경우, 일부 형식은 8.3 형식에 맞는 파일 이름의 경우를 버림) 파일 이름을 비교할 때 대소 문자를 구분 하지 않는다는 것입니다. Windows에서는 "foobar", "Foobar", "FOOBAR"및 "fOObAr"이 동일한 파일 이름으로 간주됩니다.

즉, 그것은 대부분 문화적인 것이지만 배경이 있습니다. 이 특별한 협약이 유닉스 세계에 갇힌 이유는 유용성 때문 입니다. 여기에는 두 가지 주요 주장이 있습니다.

  • 글자가 아닌 문자를 사용하여 단어를 구분하는 것이 단어 경계를 표시하기 위해 대소 문자를 사용하는 것보다 읽기 편한 편이 더 좋습니다. 당신이 저를 안다면,이 문장을 이전의 하나와 말로 쉽게 비교할 수 있습니다. (물론 최악의 시각 분리는 없습니다).
  • 소문자는 대문자보다 다양한 모양을 가지므로보다 다양한 단어 모양으로 이어집니다. 이것은 대문자로 작성된 텍스트보다 읽기 쉬운 텍스트를 소문자로 작성합니다.

이러한 관찰은 쉽게 검증 할 수 있으며 과학적 연구에서도 확인되었습니다.

또한 유닉스 문화는 읽기 쉬울뿐 아니라 쓰기도 쉬운 규칙을 선호합니다. 유닉스 해커는 일반적으로 키보드를 사용하여 많은 시간을 소비하는 사람들이며, 공식적인 터치 타이핑 시스템이나 프로그래밍을 위해 조정 된 개인 파생물을 사용하는 사람들이 많습니다. 홈 행에 머무르는 개념은 어느 쪽이든 중요하므로 사람들은 홈 행에서 도달 할 수없는 키, 특히 Shift 키를 사용하지 않는 것을 좋아합니다.

이 세 가지 제약 조건을 결합하면 실제로 하나의 현명한 규칙이 all-lowercase-with-dashes있습니다.


3
@StephaneRolland : 다른 프로그래밍 언어 및 파일 이름의 식별자와 같은 다른 것들에 대해 일관된 명명을 추구하는 것이 현명하지 않습니다. 각 영역 내에서 일관성을 유지하고 확립 된 규약을 따르십시오. 그러나 모든 규약을 지배하기 위해 하나의 규약을 찾지 마십시오. Java 변수는 SQL 테이블 이름이 아니며 파일 이름도 아닙니다.
tdammers

@StephaneRolland-원하는 단어가 snake_case 라고 생각합니다 .
cchamberlain
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.