본문 바로가기
리눅스 생활 하고파

[리눅스 기초 개념] 상대경로와 절대경로 완전 정리 (명령어 사용 전 필수)

by 하고집 2026. 1. 14.
반응형

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. 한 줄 요약

  • 상대경로: “지금 위치 기준”
  • 절대경로: “시스템 기준(항상 동일)”
  • 중요한 작업일수록 절대경로를 써야 사고를 막을 수 있다
반응형