리눅스에서 ./(점 슬래시, dot slash)는 현재 작업 디렉터리(current working directory)를 가리키는 상대 경로입니다. 이 글에서는 ./가 정확히 어떤 의미를 갖는지, 그리고 실제로 어떻게 활용되는지 하나씩 살펴보겠습니다.
. (점)과 .. (더블 점)의 의미
.(마침표 하나)와 ..(마침표 두 개)는 리눅스를 비롯한 유닉스 계열 운영체제에서 사용되는 특수한 디렉터리 이름입니다.
- . : 현재 디렉터리를 나타냅니다.
- .. : 현재 디렉터리의 상위(부모) 디렉터리를 나타냅니다.
./ (점 슬래시)란?
./에서 .는 현재 디렉터리를 의미하고, 뒤에 붙는 슬래시(/)는 경로 구분자입니다. 따라서 슬래시 뒤에 오는 내용은 '현재 디렉터리 안에 있는 무언가'를 가리키게 됩니다.
기본 예시
현재 디렉터리에서 test.txt 파일을 생성하거나 편집하려면 다음과 같이 입력합니다.
nano ./test.txt
이 명령은 사실 아래 명령과 동일하게 동작합니다.
nano test.txt
명령어는 기본적으로 현재 작업 디렉터리를 기준으로 실행되기 때문입니다. 그렇다면 왜 스크립트나 프로그램을 실행할 때 굳이 ./를 자주 붙여서 사용하는 걸까요?
스크립트 실행 시 ./를 붙이는 이유
./를 사용해 프로그램이나 스크립트를 실행하면, 해당 파일이 반드시 현재 디렉터리에 있는 파일임을 명확히 지정할 수 있습니다. 시스템 경로(PATH)에 설치된 이름이 같은 다른 명령어와 혼동되는 것을 방지하는 역할도 합니다. 즉, "내가 지금 있는 이 폴더의 이 파일을 실행해라"라고 정확하게 알려주는 셈입니다.
파일 이름 앞에 '-'(대시)가 있을 때 활용하기
./에는 또 다른 실용적인 용도가 있습니다. 바로 파일 이름 첫 글자가 -(대시)로 시작하는 파일을 다룰 때입니다.
예를 들어 현재 디렉터리에 -L.txt라는 파일이 있다고 가정해 보겠습니다. 이때 다음과 같이 입력하면:
nano -L.txt
파일이 열리지 않고 대신 아래와 비슷한 오류 메시지가 출력됩니다.
nano: invalid option
파일 이름 맨 앞의 대시(-)가 옵션으로 잘못 해석되어, 파일이 아니라 명령줄 인자로 인식되기 때문입니다.
이 문제는 다음과 같이 ./를 붙여 경로를 명시하면 간단히 해결됩니다.
nano ./-L.txt
이처럼 ./는 단순한 경로 표기를 넘어, 정확한 파일 지정과 명령어 충돌 방지를 위해 꼭 알아두어야 할 리눅스의 기본 개념입니다.