반응형
1. 왜 상대경로와 절대경로를 알아야 할까?
리눅스 명령어를 쓰다 보면 항상 따라붙는 것이 **경로(path)**다.
특히 find, cp, mv, rm, grep 같은 명령어는
**“어디에 있는 파일을 대상으로 하느냐”**에 따라 결과가 완전히 달라진다.
이때 경로를 표현하는 방식에는 크게 두 가지가 있다.
- 상대경로
- 절대경로
이 개념을 제대로 이해하지 못하면,
- 파일이 안 찾아지거나
- 엉뚱한 파일을 삭제하거나
- 명령어가 안 먹는 상황이 자주 발생한다.
2. 절대경로란?
2.1 절대경로의 개념
절대경로는
👉 루트 디렉터리(/)부터 시작해서 목적지까지의 전체 경로를 모두 적는 방식이다.
/home/user/project/file.txt
- 항상 / 로 시작한다
- 현재 위치가 어디든 같은 파일을 정확히 가리킨다
- 가장 명확하고 안전한 방식
2.2 절대경로 예시
ls /var/log/syslog
- 지금 내가 어디에 있든
- /var/log/syslog 파일을 정확히 지정
👉 서버 운영, 삭제, 배포 작업에서는 절대경로 사용을 권장
2.3 절대경로의 장단점
장점
- 헷갈릴 일이 없다
- 스크립트, 크론(cron), 서버 작업에 안전
단점
- 경로가 길어질 수 있다
- 매번 전체 경로를 입력해야 한다
3. 상대경로란?
3.1 상대경로의 개념
상대경로는
👉 현재 내가 위치한 디렉터리 기준으로 경로를 표현하는 방식이다.
./file.txt
- /로 시작하지 않는다
- “지금 위치”가 바뀌면 의미도 바뀐다
3.2 상대경로에서 자주 쓰는 기호
. (점 하나)
.
- 현재 디렉터리
ls .
👉 “지금 여기”
.. (점 두 개)
..
- 상위(부모) 디렉터리
ls ..
👉 “한 단계 위”
3.3 상대경로 예시
현재 위치가 아래라고 가정하자.
/home/user/project
ls src/main.py
- 실제 절대경로:
-
/home/user/project/src/main.py
👉 상대경로는 현재 위치를 기준으로 해석된다.
4. 상대경로 vs 절대경로 비교
구분상대경로절대경로
| 기준 | 현재 디렉터리 | 루트(/) |
| 시작 문자 | 없음 (., .. 가능) | / |
| 위치 변경 영향 | 있음 | 없음 |
| 안전성 | 낮음 | 높음 |
| 실무 사용 | 제한적 | 매우 많음 |
5. 초보자가 가장 많이 헷갈리는 포인트
5.1 “경로가 맞는데 파일이 없다”는 경우
grep "error" log/app.log
- 현재 위치에 log/app.log가 없으면 실패
- 상대경로이기 때문
👉 해결 방법
grep "error" /home/user/log/app.log
5.2 스크립트에서 상대경로 사용
rm data/output.txt
- 스크립트를 실행한 위치에 따라
- 삭제 대상이 달라질 수 있음
👉 스크립트에서는 절대경로 사용이 원칙
5.3 . 과 .. 남용
rm -rf ../data
- 현재 위치를 잘못 이해하면
- 전혀 다른 디렉터리를 삭제할 수 있음
👉 위험한 명령어와 상대경로 조합은 특히 주의
6. 실무에서의 사용 기준 정리
상대경로를 써도 되는 경우
- 개인 로컬 테스트
- 현재 디렉터리 구조가 명확할 때
- 단순 조회(ls, cat) 수준
절대경로를 써야 하는 경우
- rm, mv, cp 같은 변경 명령
- 서버 운영 환경
- 스크립트, 배포, 자동화 작업
- grep, find로 중요한 로그를 다룰 때
7. 한 줄 요약
- 상대경로: “지금 위치 기준”
- 절대경로: “시스템 기준(항상 동일)”
- 중요한 작업일수록 절대경로를 써야 사고를 막을 수 있다
반응형
'리눅스 생활 하고파' 카테고리의 다른 글
| [리눅스 명령어] cp 기초부터 옵션까지 한 번에 정리 (0) | 2026.01.16 |
|---|---|
| [리눅스 명령어] mv 기초부터 옵션까지 한 번에 정리 (0) | 2026.01.15 |
| [리눅스 명령어] ls 기초부터 옵션까지 한 번에 정리 (0) | 2026.01.14 |