파일 이름에 밑줄을 사용 하시겠습니까?


25

명령 줄을 자주 사용하여 파일을 탐색하므로 파일 이름에 공백이 없어야합니다. 일반적으로 밑줄을 사용하여 단어를 연결했지만 최근에는 대시를 사용해야한다고 제안되었습니다. 파일 이름에 밑줄을 사용하는 데 단점이 있습니까? 대시로 전환해야합니까? 내 시스템은 Xubuntu를 실행 중이며 거의 독점적으로 bash 쉘을 사용합니다.

감사



1
LaTeX를 사용하려면 몇 개의 괄호 안에 파일 이름을 보호해야 할 수도 있습니다 {...}. 자동 스크립트의 경우이를 고려해야합니다. 는 _첨자를 만들고에 예를 포함해야하는 데 사용됩니다 $...$피하기 오류, 그러나 당신이 기대하는 것과 텍스트 다른를 생성합니다. gnuplot의 강화 된 터미널에서도 ..
Hastur

답변:


22

운영 체제에 관한 한 둘 다 서로 사용할 수 있습니다.

내가 주목해야 할 한 가지-일부 소프트웨어 (예 : 일부 비디오 재생 시스템-XBMC 등)는 파일을 표시 할 때 밑줄을 공백으로 자동 대체하여 더 멋지게 보입니다.

그런 이유만으로도 밑줄을 고르고 싶은 유혹을받습니다.

또한 하이픈은 명령으로 전환하는 데 사용되므로 명령 스위치뿐만 아니라 파일 이름에도 하이픈이 혼동 될 수 있습니다.

그 외에는 순전히 개인적인 선택에 달려 있습니다.


1
나는 hythens를 사용하지만 그게 내가 더 좋아 보이기 때문입니다. 그 뒤에 기술적 이유.
beatgammit

감사! 그게 내가 의심 한 바이지만, 의심 만해도 계속 문제를 일으킬 수 있다는 것도 알게되었습니다.
DQdlM

16

대시는 SHIFT 키를 누르지 않아도되므로 더 빨리 입력 할 수 있습니다. 이것이 Jenkins 씨가 제안한 것 이상으로 생각할 수있는 유일한 이점입니다.

아마 그 제안을하는 사람은 열렬한 Vim 사용자이며 최소한의 키보드 움직임으로 모든 것을하기를 원할 것입니다.


7
그 경우에 그들은 vi대신 키 스트로크를 사용합니다.)
Majenko

4
@Matt 그것은 어쨌든 alias'v
다니엘 벡

+1 이와 같은 이유로 나는 대문자 대문자를 사용하여 밑줄을 사용합니다 FOO_BAR(모자 잠금을 사용하지 않으므로 Shift 키를 계속 누르고 있으면 좋을 것입니다).
Richard Hansen

@DanielBeck 사실이 그 내 bash는 별칭에서뿐만 아니라 g에 대한 git:)
월 Warchoł

vim은 하이픈으로 분리 된 두 단어를 단일 단어로 간주하므로 파일 이름에 밑줄을 vim 사용자로 사용해야하는 이유 일 수 있습니다.
oddRaven

8

내 권장 사항은 공백 대신 밑줄을 사용하는 것입니다. 밑줄은 일반적으로 사람들이 공백을 바꿀 때 사용하는 규칙이지만 하이픈도 괜찮습니다. 그러나 하이픈은 하이픈이있는 단어와 같은 다른 방식으로 표시 될 수 있으므로 밑줄을 사용하여 이름 값을 보존하는 데 더 많은 성공을 거둘 수 있습니다. 예를 들어, "Winston-Salem, NC.jpg에서 찍은 사진"이라는 파일이 있고 공백을 밑줄로 변환하려는 경우 이름에 하이픈을 유지하고 그 의미를 유지할 수 있습니다.

공백은 다음과 같이 for 루프와 같은 고급 방식으로 명령 행을 사용하려는 사람들에게 문제를 일으 킵니다.

for file in *.mp3 ; do mpg321 $file -w - | oggenc -o ${file%%.mp3}.ogg - ; done

해당 와일드 카드와 일치하는 mp3 파일 중 이름에 공백이 있으면 파일 이름이 전체가 아닌 섹션으로 나뉩니다. BASH 셸의 IFS 변수를 변경하거나 find 명령을 사용하여이 문제를 해결할 수 있지만 성가심과 많은 사람들이이를 알지 못하므로 문제가 발생할 수 있습니다.

나는 이것 또는 범퍼 스티커 캠페인이 사람들이 파일 이름에 공백을 넣지 못하게 할 것이라고 의심하지만, 자신을 돕기를 원한다면 더 많은 힘을 얻고 관심있는 사람들을 대신하여 감사합니다.


1
전적으로 동의합니다. 잘 구성된 파일 이름에는 공백이 필요하지 않습니다.
DQdlM

4
@ KennyPeanuts-잘 작성된 프로그램은 공간에서 질식하지 않습니다.
detly

2
@detly-touche '
DQdlM

1
@detly 아니요, 훌륭한 프로그래머는 할 수 있고해야 할 일에 한계가 있어야한다는 것을 이해합니다. 당신이 공간에서 질식해서는 안된다고 말하면 누군가가 그것을 질식시키고 줄 끝에서 질식해서는 안된다고 말하면 누군가는 질식해서는 안된다고 말하고 누군가는 질식해서는 안된다고 말할 수 있습니다 파일 끝에. "실패를위한 공식 : 모두를 기쁘게하려고 노력하라"는 옛말이 있습니다.
deltaray

1
파일 시스템 사양은 더 이상 코딩 할 대상을 알려줍니다. 예를 들어 Ext2 / 3 / 4에서 파일 이름은 \0또는 \\\`. Coding to anything less than that is broken by design. So, no, it shouldn't choke on spaces, or EOL, or non-ASCII characters, or anything that isn't \ 0` 또는`\`를 제외한 모든 문자를 포함 할 수 있습니다 . 다른 많은 사람들이 이미 이러한 문제를 해결했기 때문에 파일 경로 조작에 라이브러리 함수를 사용하는 것이 좋습니다.
detly

5

밑줄 대신 하이픈 사용을 고려해야하는 유일한 이유는 기본 가독성입니다. 밑줄이 자주 나오면 독서 방향이 y 축의 중심에서 아래쪽으로 바뀔 때 독서가 왜곡되는 경향이 있습니다. 그러나 하이픈을 사용하면 눈이 편해집니다.

운영 체제가 고려되는 한 두 문자 모두 동일하게 유효하며 이스케이프 처리가 필요하지 않습니다 (공백으로 인해 작업하기가 쉽지 않습니다).


2
기본 가독성 이유는 순전히 주관적이라고 생각합니다. 밑줄은 읽기가 쉽지만 시각적으로 무시할 수 있기 때문에 밑줄을 쉽게 읽을 수 있습니다. 대시는 실제로 읽을 수 있습니다.
goliatone

3

Shift 키를 누를 필요가 없기 때문에 개인적으로 밑줄보다 하이픈을 선호합니다. 그러나 한 가지 기억해야 할 것은 주로 파이썬 코딩을하고 코드 트리에 하이픈이있는 파일 / 디렉토리가 있고이를 모듈로 사용하려는 경우 (코드에서 가져 오기 파일 이름 사용) 오류가 발생한다는 것입니다. 파이썬 모듈에는 하이픈을 넣을 수 없습니다. 물론 하이픈이있는 모듈을 가져 오는 방법은 있지만 PEP-8 지침에 따라 밑줄을 사용합니다.

따라서 대부분의 내 bin / 프로그램 또는 별칭에는 하이픈을 사용하지만 파이썬 프로그램 / 모듈을 작성할 때 밑줄을 사용합니다.


2

유닉스 파일 시스템에 매핑되는 웹 기반 컨텍스트에서 하이픈을 사용해야하는 이유는 충분합니다.

URL               What search indexes see
foo-baz-bang      foo baz bang
foo_baz_bang      foobazbang

웹 개발자로서 이것은 단어를 분리 할 때 하이픈을 사용하도록 강요했습니다.


1
위에서 언급 한 맥락은 아마도 공백 자리 표시 자의 더 나은 지표로서 하이픈 대 밑줄에 대한 Google의 알고리즘 선호도를 포함 하는 2005 Matt Cutts 블로그 게시물 과 관련이있을 것입니다 .
jmmygoggle
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.