리눅스에서 파일명을 확인했는데 공백이 포함되어 있다면, 파일을 읽으려 할 때 예상과 다르게 동작하는 경우가 있다.
이는 셸이 공백을 해석하는 방식 때문이다.
공백이 포함된 파일명이 인식되지 않는 이유
리눅스 셸은 공백을 인자를 구분하는 기준으로 사용한다.
예를 들어 다음 명령어를 실행하면
cat --spaces in this filename--
셸은 이를 하나의 파일명이 아니라 아래와 같이 여러 개의 인자로 분리한다.
--spacesinthisfilename--
공백이 포함된 파일명 여는 방법
1. 백슬래시로 공백 이스케이프 하기
cat --spaces\ in\ this\ filename--
\는 바로 뒤 문자를 특수 의미가 아닌 일반 문자로 처리하도록 만든다.- 공백이 인자 구분자가 아니라 파일명의 일부가 된다.
2. 따옴표로 파일명 감싸기
cat "--spaces in this filename--"
"내부의 문자열은 하나의 인자로 처리된다.- 가독성이 좋아 실무에서도 가장 많이 사용된다.
'CS > 운영체제' 카테고리의 다른 글
| cat 명령어와 바이너리 파일: ASCII text vs data 파일의 차이 (0) | 2026.02.06 |
|---|---|
| -로 시작하는 파일명 여는 방법 (0) | 2026.02.06 |
| SSH로 원격 서버에 접속하기 (0) | 2026.02.06 |
