파일 (또는 디렉토리) 이름의 구분 기호에 대한 좋은 스타일 / 연습


16

이것이 여기에 올릴 "올바른"질문인지 확실하지 않습니다. 아마 실제 범주 형 답변보다 "의견"에 대해 더 많이 묻고있을 것입니다.

나는 어떤 이름 구분자가 가장 리눅스 친화적 이고 (보다 구체적으로는 Bash friendly ) 인간 친화적 인지 궁금합니다 .

Mr. Foo Bar 와 관련된 것을 포함하는 디렉토리를 만들고 싶다고 말하십시오 ( Foo 는 이름이고 Bar 는 성입니다)

이름이 " Foo-Bar/"인 것은 매우 편리합니다. -는 "일반"문자, 그것, 그것은 명확하게 보여줍니다 이스케이프 할 필요가 없습니다 FooBar두 개의 분리 된 것들 ... 니스됩니다.

이제 " Foo.Bar"는 조금 까다 롭습니다. 누군가 Foo.Bar가 실제로 파일 이라고 생각할 수도 있습니다 (처음에, 채색 기능이있는 터미널이없는 경우 특히 그렇습니다). 여기서 " Foo"는 파일 이름이고 " Bar"는 확장자입니다.

" Foo Bar"를 사용할 수도 있지만 디렉토리에 액세스하고 싶을 때 공백을 이스케이프해야합니다. 부모 디렉토리의 내용 ( Foo Bar위치)을 나열하고 해당 목록을 bash 배열에 넣으려면 공백은 많은 문제를 일으킬 것입니다. 좋지 않아.

브래킷 ()은 또한 많은 문제를 일으 킵니다. 그들은 또한 탈출해야하며 명령으로 문제를 일으키기 위해 scp... 좋지 않습니다.

그래서 ... 질문 (마지막으로)은 다음과 같습니다. 파일 이름을 명확하고 의미있게 만들어야하고 구분 기호를 사용해야하는 경우 무엇을 사용합니까?



나는 종종 대시를 사용하지만 내가하는 일에 달려 있습니다. 일부는 FooBar와 같이 낙타 경우를 고려할 수 있습니다.
klapaucius

답변:


14

짧은 대답 : "Foo _-_ Bar"

긴 대답 :

상황을 쉽게 파악할 수 있도록 필요한 부분에 일련의 문자를 사용하는 경향이 있습니다. 아이디어는 쉽게 찾을 수있는 것을 사용하여 "_-_"또는 " ___ ".

내가 이것을 사용하는 실제적인 예는 파일 이름에 아티스트와 노래 제목, 때로는 시퀀스 번호가 포함 된 mp3 모음입니다. 그리고 마법의 순서를 사용하여 그것들을 분리하면 눈과 대본 모두에게 쉽습니다. mp3 예제는 다음과 같습니다.

  • 01_Blue_Man_Group _-_ Above.mp3
  • 02_Blue_Man_Group _-_ Time_to_Start.mp3
  • 03_ 파란색 .mp3

Foo와 Bar가 혼합되어서는 안되는 두 가지 논리적 인 것이라면 Foo _-_ Bar가 될 수 있습니다.


2
이 방법으로 이미 대시 (또는 일반적으로 구분 기호)가 포함 된 이름을 구별 할 수도 있습니다.
lynxlynxlynx

1
또한 전 파싱을 등록하는 것이 정말 좋습니다! : ^ (. +) _-_ (. +) \. mp3 $
DanDan

인간이 이러한 파일을 볼 수 있다는 점을 감안하면 좋은 대답입니다. 본질적으로 나는 이것을 분리 자 문자열로 간주합니다. 다중 문자 고유 구분 기호입니다. Vagrant VAGRANTSLASH에서 분리가있는 파일 이름 의 문자열 을 사용하는 것으로 나타났습니다 .
ThorSummoner 2016 년

9

당신이 특별하다고 생각하지 않을 수있는 많은 문자가 있기 때문에 실제로는 특별합니다. 어쨌든 특수 문자를 사용합니다. 또한 bash 완성을 사용하는 좋은 습관을 갖게되었습니다. 파일 이름의 모든 특수 문자를 자동 이스케이프 처리합니다. 그러나 그것은 또한 스크립트에서 모든 부분을 이스케이프 / 인용하는 좋은 습관과 bash의 여러 부분으로 된 1 줄짜리 라이너로 만들었습니다.

예를 들어 간단한 1 라이너로 :

for file in *.txt; do something.sh "$file"; done

이렇게하면 파일 중 하나에 공백이나 다른 문자 do가 있어도 루프 의 일부가 계속 작동하고 둘 이상의 파일 이름 부분에서 누락되지 않아 의도하지 않은 부작용이 발생할 수 있습니다.

내가 만나는 모든 파일의 공간 / 비 공간 이름 지정을 제어 할 수 없으므로 시도한 경우 어딘가에 일부 심볼릭 링크가 중단되어 의도하지 않은 결과가 발생할 수 있으므로 모든 파일 이름 / 디렉토리 이름에 공백이있을 수 있습니다. 보상하기 위해 모든 변수를 인용 / 탈출하십시오.

따라서 파일 이름에 원하는 문자 (공백)를 사용합니다.

ZFS 데이터 세트 이름에 공백을 사용하기도합니다. 인정해야하는 NAS는 내가 사용하는 NAS 용 소프트웨어를 작성하는 개발자들 사이에서 상당한 양의 헤드 스크래칭을 일으켰습니다.

요약 : 공백은 유효하지 않은 문자 가 아니므로 공백 을 사용할 이유가 없습니다 .


6

-위에서 언급 한 이유로 대시를 사용 합니다. 나는 Shift 키를 사용해야하기 때문에 밑줄을 피하십시오. 따라서 입력하는 데 적어도 두 배의 시간이 걸립니다 (또한 추악하다고 생각합니다)

스크립트 파일 이름에 대해 다른 것보다이 작업을 수행하는 경향이 있습니다. 스크립트가 무엇인지 명확하게 식별하는 것이 더 중요하다고 생각합니다. 문서 파일은 비활성 데이터이지만 잘못 사용하면 스크립트가 잠재적으로 위험합니다.


5

밑줄 ( _)을 사용합니다 . 시각적으로 사라지고 입력하기 쉽고 특별하지 않습니다.


4
나보다 그들을 추악한 찾기 -(하나는 시프트 키를 사용한다) 형태에 더 열심히, 그리고
tshepang
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.