가볍지만 생각은 한번 해볼만한 이야기다. 많은 사람들이 관습적으로 파일명에 띄어쓰기 대신 언더바(_)를 붙이는 습관이 있는데 왜 그런걸까? 좀 찾아보니까 어느 정도 예상한 내용이긴 했다.
1. CLI 환경 사용성
CLI 환경에서는 띄어쓰기를 인식하지 않는다. 가령 file name 이라는 파일이 있을 때
[root@newhost underscores]# ll
total 4
-rw-r--r--. 1 root root 5 Feb 18 10:27 file name
[root@newhost underscores]# cat file name
cat: file: No such file or directory
cat: name: No such file or directory
[root@newhost underscores]# cat "file name"
abcd
이런 식으로 cat file name이라고 입력하면 리눅스는 cat file과 name이라는 각각의 파일을 모두 출력하는 것으로 이해한다.
그래서 cat “file name”처럼 쿼트를 이용해야하는 불편함이 생긴다.
반면 언더바를 사용하면 아무런 문제가 없다.
[root@newhost underscores]# cat file_name
abcd
이 부분은 윈도우 CMD에서도 마찬가지다.
2. 플랫폼 호환성
언더바는 윈도우, 리눅스 , Mac, Web 가리지 않고 모든 플랫폼에서 인식하는 문자열이다. 즉 플랫폼 호환이 좋다. 언더바가 모든 컴퓨터 시스템에서 인식하는 ASCII 캐릭터셋에 포함되어 있기 때문이다.
3. 관례적으로 사용
결론적으로 과거부터 파일명에 띄어쓰기를 하면 문제가 생겼기 때문에 대신 언더바를 붙여 온 것이다. 현재 윈도우를 GUI로 환경으로 주로 이용하기 때문에 일반적으로는 파일명에 띄어쓰기를 써도 전혀 문제될 것이 없다.
하지만 CLI를 다루거나 프로그래밍의 일부로 파일명을 지을 땐 여전히 띄어쓰기 대신 언더바를 많이 사용한다.