파일 경로와 권한, 입문자가 가장 헷갈리는 부분
절대경로와 상대경로, ~ 와 / 의 의미, rwx 권한과 chmod·chown, sudo의 역할, /mnt/c 윈도우 경로의 특성까지, 리눅스 입문자가 가장 자주 막히는 부분을 질문과 답변 형식으로 풀었습니다.
왜 필요한가 · 리눅스에서 경로와 권한 개념을 어렴풋이 알고 넘어가면 '파일을 못 찾겠다', '권한이 없다'는 오류에서 계속 막히기 때문입니다.
누구에게 · 리눅스 명령은 몇 개 따라 쳐봤지만, 경로와 권한이 정확히 무엇인지 헷갈리는 입문자
읽고 나면 · 절대·상대경로를 구분하고, 홈 디렉터리와 rwx 권한, chmod·chown·sudo 의 역할을 이해해 오류를 스스로 해석할 수 있습니다.
핵심 요약
- 절대경로는 / 에서 시작하는 전체 주소, 상대경로는 현재 위치 기준의 주소이며, ~ 는 내 홈 디렉터리를 가리키는 약자입니다.
- ls -l 맨 앞의 rwx 는 읽기·쓰기·실행 권한을 뜻하고, chmod 로 권한을, chown 으로 소유자·그룹을 바꿉니다.
- sudo 는 관리자 권한이 필요한 작업에만 잠깐 쓰는 명령이며, WSL에서 윈도우 파일은 /mnt/c 아래에 있고 권한 처리가 리눅스 영역과 다릅니다.
리눅스를 배우다 보면 명령어 자체보다 “지금 내가 어디 있는지”와 “이 파일을 만질 권한이 있는지”에서 더 자주 막힙니다. 파일을 분명히 만들었는데 못 찾겠고, 명령을 쳤더니 권한이 없다며 거부당하는 식입니다. 이 글은 그렇게 헷갈리는 지점을 질문과 답변으로 하나씩 풀어 봅니다.
Q. 절대경로와 상대경로는 뭐가 다른가요?
경로는 파일이나 폴더의 “주소”입니다. 같은 위치라도 표현 방식이 두 가지입니다.
- 절대경로는 맨 위(루트,
/)에서부터 끝까지 다 적은 전체 주소입니다. 예:/home/사용자/문서/메모.txt. 어디서 실행하든 항상 같은 곳을 가리킵니다. - 상대경로는 지금 내가 서 있는 위치를 기준으로 적은 주소입니다. 예:
문서/메모.txt. 현재 위치가 바뀌면 가리키는 곳도 달라집니다.
상대경로에서 자주 쓰는 약속이 두 가지 더 있습니다. . 은 현재 폴더, .. 은 상위 폴더입니다. 그래서 cd .. 는 한 단계 위로, ./스크립트.sh 는 “지금 이 폴더의 그 파일”을 뜻합니다. 헷갈릴 때는 항상 현재 위치부터 확인합니다.
pwd
Q. ~ 와 / 는 각각 무슨 뜻인가요?
둘 다 자주 보이지만 의미가 정반대에 가깝습니다.
/하나만 있으면 시스템 전체의 최상위(루트) 를 뜻합니다. 모든 경로의 출발점이며, 시스템 파일이 모여 있는 영역입니다.~는 내 홈 디렉터리 를 가리키는 약자입니다. 보통/home/내이름같은 위치이며, 내가 자유롭게 쓸 수 있는 개인 공간입니다.
그래서 cd ~ 는 “내 집으로 돌아가기”, cd / 는 “시스템 꼭대기로 가기”라고 이해하면 쉽습니다. 학습용 파일을 만들 때는 권한 문제가 적은 홈 디렉터리(~) 안에서 작업하는 편이 안전합니다.
cd ~
ls
✍️ 운영자 한마디
물결표(~)와 슬래시(/)를 헷갈려서 엉뚱한 위치에 파일을 만든 적이 여러 번 있습니다. 권한 오류가 나면 무작정 sudo부터 붙이던 버릇도 있었는데, 지금은 왜 막혔는지부터 보려고 합니다.
Q. ls -l 앞에 보이는 rwx 는 무엇인가요?
ls -l 로 파일 목록을 보면 줄 맨 앞에 -rwxr-xr-- 같은 글자가 나옵니다. 맨 앞 한 글자(- 또는 d)는 파일인지 폴더인지를 뜻하고, 그 뒤의 r, w, x 가 권한입니다.
r(read) — 읽기w(write) — 쓰기(수정·삭제)x(execute) — 실행
이 세 글자가 세 묶음으로 반복되는데, 순서대로 소유자 / 그룹 / 그 외 모두 에 대한 권한을 뜻합니다. 즉 -rwxr-xr-- 는 소유자는 읽기·쓰기·실행 모두 가능, 그룹은 읽기·실행만, 그 외는 읽기만 가능하다는 의미입니다. 같은 파일이라도 누구냐에 따라 할 수 있는 일이 다릅니다.
ls -l
Q. chmod 는 숫자와 기호 중 무엇으로 쓰나요?
chmod 는 파일의 권한 자체를 바꾸는 명령이고, 표기 방식이 두 가지입니다.
- 기호 방식은 기존 권한에 더하거나(
+) 빼는(-) 방식입니다. 예를 들어 스크립트에 실행 권한만 더하고 싶을 때 직관적입니다.
chmod +x 스크립트.sh # 실행 권한 추가
chmod -w 메모.txt # 쓰기 권한 제거
- 숫자 방식은 권한 전체를 한 번에 지정합니다. r=4, w=2, x=1 을 더한 값을 소유자·그룹·기타 순으로 세 자리로 씁니다.
755는rwxr-xr-x,644는rw-r--r--에 해당합니다.
chmod 755 스크립트.sh
chmod 644 메모.txt
입문 단계에서는 필요한 권한만 더하는 기호 방식(+x)이 이해하기 쉽고, 숫자 방식은 “한 번에 표준 권한을 맞춘다”는 정도로 익혀 두면 됩니다.
Q. 소유자나 그룹은 어떻게 바꾸나요? (chown)
권한이 “무엇을 할 수 있는가”라면, 소유자·그룹은 “누구의 것인가”입니다. 이걸 바꾸는 명령이 chown 입니다. 보통 다른 사용자가 만든 파일이나 시스템 영역의 파일 소유를 바꿀 때 쓰며, 대개 관리자 권한이 필요하므로 sudo 와 함께 씁니다.
sudo chown 내이름 파일.txt # 소유자만 변경
sudo chown 내이름:내그룹 파일.txt # 소유자와 그룹 변경
다만 학습 초기에 내 홈 디렉터리 안에서만 작업한다면 소유자는 이미 나로 되어 있어 chown 을 쓸 일은 많지 않습니다.
Q. sudo 는 언제 쓰는 건가요?
sudo 는 관리자 권한이 필요한 작업을 잠깐 빌려서 실행하는 명령입니다. 시스템 영역을 바꾸거나 프로그램을 설치할 때처럼, 일반 권한으로는 거부되는 작업에만 씁니다. 처음 실행하면 비밀번호를 묻는데, 이는 WSL이나 우분투를 설치할 때 정한 리눅스 계정 비밀번호입니다.
sudo apt update
습관처럼 모든 명령 앞에 sudo 를 붙이는 것은 권하지 않습니다. 내 파일에서 생긴 권한 문제는 대개 sudo 가 아니라 chmod 로 푸는 것이 맞습니다.
Q. WSL에서 윈도우 파일은 어디 있나요?
WSL을 쓰면 리눅스 경로와 윈도우 경로가 함께 보입니다. 윈도우의 드라이브는 /mnt 아래에 연결됩니다.
- 리눅스 영역:
/home/내이름같은 경로 - 윈도우 C 드라이브:
/mnt/c/...
즉 윈도우 바탕화면의 파일을 리눅스에서 다루고 싶다면 /mnt/c/Users/... 같은 경로로 접근합니다. 다만 /mnt/c 아래는 윈도우 파일 시스템이라 리눅스의 rwx 권한이 그대로 적용되지 않습니다. chmod 를 걸어도 기대대로 동작하지 않거나, 권한이 일괄로 보이는 경우가 있습니다. 또 이 영역은 읽고 쓰는 속도가 리눅스 영역보다 느린 편입니다. 그래서 학습용·작업용 파일은 가급적 홈 디렉터리(/home)에 두는 편이 권한도 깔끔하고 속도도 빠릅니다.
초보자가 자주 막히는 부분
- 만든 파일을 못 찾음 — 보통 상대경로로 만든 뒤 다른 위치로 이동해 헤매는 경우입니다.
pwd로 현재 위치부터 확인하세요. - 권한 거부를 무조건 sudo 로 해결 — 내 파일이라면 sudo 가 아니라
chmod로 권한을 조정하는 게 맞을 때가 많습니다. - chmod 숫자를 외우려 함 — 처음에는
+x같은 기호 방식으로 충분합니다. 숫자는 r=4·w=2·x=1 의 합이라는 원리만 기억해 두세요. - ~ 와 / 혼동 —
cd /는 시스템 꼭대기,cd ~는 내 홈입니다. 정반대 방향입니다. - /mnt/c 에서 권한이 이상함 — 윈도우 영역은 리눅스 권한이 그대로 적용되지 않습니다. 권한이 중요한 작업은
/home에서 하세요.
경로·권한 이해 체크리스트
- 절대경로(
/로 시작)와 상대경로의 차이를 설명할 수 있다 ~가 내 홈 디렉터리를 뜻한다는 것을 안다ls -l의 rwx 가 소유자·그룹·기타의 읽기·쓰기·실행 권한임을 안다- chmod(권한)와 chown(소유자), sudo(관리자 권한)의 역할 차이를 안다
- WSL에서 윈도우 파일이
/mnt/c아래에 있고 권한 처리가 다름을 안다
정리
경로와 권한은 리눅스를 쓰는 내내 따라다니는 개념입니다. 지금 내 위치(pwd)와 경로의 종류, 권한 표시(rwx), 그리고 chmod·chown·sudo 의 역할만 손에 익혀 두면, “못 찾겠다”와 “권한이 없다”는 오류를 스스로 해석할 수 있게 됩니다. WSL을 쓴다면 윈도우 파일과 리눅스 파일의 차이까지 알아 두면, 어디에 파일을 두어야 할지 판단하기가 한결 수월해집니다.
자주 묻는 질문
- 경로 앞에 / 가 있는 것과 없는 것은 무슨 차이인가요?
- 맨 앞에 / 가 있으면 최상위 루트부터 시작하는 절대경로이고, / 없이 시작하면 지금 있는 위치를 기준으로 한 상대경로입니다. 같은 이름이라도 어디서 실행하느냐에 따라 가리키는 위치가 달라질 수 있습니다.
- 왜 어떤 명령은 권한이 없다며 거부되나요?
- 그 파일이나 폴더에 대해 내 계정이 필요한 권한(읽기·쓰기·실행)을 갖고 있지 않기 때문입니다. 시스템 영역을 바꾸는 작업이라면 sudo 가 필요할 수 있고, 내 파일인데 권한이 모자라면 chmod 로 조정할 수 있습니다.
- chmod 의 숫자(755)와 기호(+x)는 무엇이 다른가요?
- 둘 다 권한을 바꾸는 같은 명령이지만 표기 방식이 다릅니다. 기호 방식(chmod +x)은 기존 권한에 한 가지를 더하거나 빼고, 숫자 방식(chmod 755)은 권한 전체를 한 번에 지정합니다. 입문 단계에서는 +x 처럼 필요한 권한만 더하는 기호 방식이 직관적입니다.
이 글은 입문자 기준으로 이해하기 쉽게 정리했으며, 내용은 운영 과정에서 순차적으로 보완될 수 있습니다. 환경에 따라 화면이나 명령이 다르게 보일 수 있으니, 막히는 부분이 있으면 isense2021@gmail.com 로 알려주세요.