이것이 여기에 게시하기에 "올바른"질문인지 확실하지 않습니다. 나는 아마도 실제 명확한 답변(효과가 있거나 효과가 없는 답변, 그게 전부입니다)보다 "의견"을 더 많이 요구할 것입니다.
어떤 이름 구분 기호가 가장 많은지 알고 싶습니다.리눅스 친화적(또는 좀 더 구체적으로 말하자면,배쉬 친화적) 그리고인간 친화적인동시에.
다음 내용으로 디렉터리를 만들고 싶다고 가정해 보겠습니다.푸 씨(부자이름으로는,술집성이에요)
" "라는 이름은 Foo-Bar/
매우 편리합니다.-
"일반" 문자이며 탈출이 필요하지 않습니다. 이는 이를 명확하게 보여주며 Foo
두 Bar
가지 별개의 문자입니다... 좋습니다.
이제 " Foo.Bar
"는 조금 까다롭습니다. 누군가는 이것이 실제로 파일이라고 생각할 수도 있습니다 Foo.Bar
(언뜻 보기에, 특히 색상 지정이 가능한 터미널이 없는 경우). 여기서 " Foo
"는 파일 이름이고 " Bar
"는 확장자입니다.
" "를 사용할 수도 있지만 Foo Bar
디렉토리에 액세스하려면 공백을 이스케이프 처리해야 하며 상위 디렉토리( Foo Bar
위치)의 내용을 나열하고 해당 목록을 bash 배열에 넣으려면 공백이 발생합니다. (많은) 수고로움. 너무 좋지 않아.
괄호 ()
도 많은 문제를 일으킬 수 있습니다. 또한 이스케이프해야 하며 명령에 문제가 발생합니다. 왜냐하면 scp
... 좋지 않기 때문입니다.
그래서... (마지막) 질문은: 파일 이름을 언뜻 보기에 명확하고 의미있게 만들어야 하고 구분 기호를 사용해야 한다면 무엇을 사용하시겠습니까?
답변1
짧은 대답: "Foo__-_Bar"
긴 답변:
검색 가능한 항목을 만들기 위해 필요한 영역에 일련의 문자를 사용하는 경향이 있습니다. "___" 또는 "___"과 같은 구분 기호임을 알 수 있도록 검색하기 쉬운 문자를 사용하는 것이 아이디어입니다.
제가 이것을 사용하는 실제적인 예는 파일 이름에 아티스트와 노래 제목이 포함되어 있고 때로는 일련 번호가 포함되어 있는 mp3 컬렉션입니다. 마법식을 이용해서 분리하면 눈도 편하고 대본도 편해요. mp3 예제는 다음과 같습니다.
- 01_블루_맨_그룹__-_위.mp3
- 02_Blue_Man_Group__-_Time_to_Start.mp3
- 03_블루_맨_그룹__-_노래_함께.mp3
이제 Foo와 Bar가 혼합되어서는 안되는 두 가지 논리적인 경우 이는 귀하의 예로 해석되며 Foo__Bar가 될 수 있습니다.
답변2
특별하지 않아야 한다고 생각될 수도 있지만 사실은 특별할 것 같은 문자가 너무 많아서 저는 그냥 특수문자를 사용합니다. 이는 또한 파일 이름의 모든 특수 문자를 자동으로 이스케이프 처리하는 bash 완성을 사용하는 좋은 습관을 갖게 했습니다. 그러나 그것은 또한 bash의 스크립트와 다중 부분 1-라이너의 모든 것을 이스케이프/인용하는 좋은 습관을 갖게 했습니다.
예를 들어, 간단한 단일 라이너에서는 다음과 같습니다.
for file in *.txt; do something.sh "$file"; done
이렇게 하면 파일 중 하나에 공백이나 다른 문자가 있어도 do
루프 부분이 계속 작동하고 두 개 이상의 파일 이름 부분이 누락되지 않아 잠재적으로 예기치 않은 부작용이 발생할 수 있습니다.
내가 만나는 모든 파일의 공백/비공백 이름 지정을 제어할 수 없기 때문에 시도하면 어딘가에서 일부 심볼릭 링크가 끊어져 의도하지 않은 결과가 발생할 수 있습니다. 모든 파일 이름/디렉토리 이름에 공백이 포함될 수 있기를 바랍니다. 이를 보완하기 위해 모든 변수를 인용하거나 이스케이프 처리하면 됩니다.
그래서 파일 이름에 원하는 문자(보통 공백)를 사용합니다.
ZFS 데이터세트 이름에도 공백을 사용하는데, 이는 제가 사용하고 있던 NAS용 소프트웨어를 작성한 개발자들에게 상당한 골칫거리였습니다.
요약: 공간은 아니다유효하지 않은성격이니까 이유가 없지아니요그것을 써.
답변3
밑줄( )을 사용합니다 _
. 시각적으로 사라져서 특별한 일 없이 쉽게 입력할 수 있습니다.
답변4
-
위에서 언급한 이유로 대시를 사용합니다. 밑줄은 Shift 키를 사용해야 하기 때문에 사용하지 않기 때문에 입력하는 데 최소한 두 배의 시간이 걸립니다(또한 보기에도 좋지 않다고 생각합니다).
저는 다른 무엇보다 스크립트 파일 이름에 대해 이 작업을 수행하는 경향이 있습니다. 스크립트의 용도를 명확하게 식별하는 것이 더 중요하다고 생각합니다. 문서 파일은 게으른 데이터일 뿐이지만 스크립트는 잘못 사용하면 위험할 수 있습니다.