리눅스 상대경로 절대경로 차이 예시

운영체제에서 경로는 파일 시스템에서 파일이 존재하는 고유한 위치를 나타냅니다. 모든 리눅스의 최상위 경로는 root 디렉토리(/)입니다.

절대경로

절대경로는 / 디렉토리부터 시작되는 경로를 의미합니다. pwd 명령어를 입력하면 출력하는 전체 경로라고 말할 수 있습니다. 예를 들어 /home/test와 같은 경로입니다.

[test@localhost ~]$ pwd
/home/test

 

test 디렉토리에 있는 testFile의 절대 경로의 경우 파일명까지 포함한 /home/test/testFile가 절대경로입니다.

[test@localhost ~]$ ls
testFile
[test@localhost ~]$ pwd
/home/test

상대경로

상대경로는 사용자가 있는 위치를 기준으로 표현되는 경로입니다. 예를 들어 현재 test 사용자는 /home/test에 있습니다. 이 상황에서 현재 디렉토리인 /home/test는 ./와 동일합니다.

절대경로 vs 상대경로 예시

예시를 위해 /home/test 디렉토리에 test2라는 경로를 하나 더 만들겠습니다.

[test@localhost ~]$ mkdir test2
[test@localhost ~]$ ls -l
total 4
drwxrwxr-x. 2 test test  6 Jan 14 17:00 test2
-rw-rw-r--. 1 test test 10 Jan 14 16:57 testFile

 

test2 디렉토리로 testFile을 이동시키겠습니다.

 

예시) 절대경로를 사용해 이동시키는 경우

[test@localhost ~]$ mv /home/test/testFile /home/test/test2/testFile
[test@localhost ~]$ ls
test2
[test@localhost ~]$ cd test2
[test@localhost test2]$ ls
testFile

 

예시) 상대경로를 사용해 이동시키는 경우

[test@localhost ~]$ mv testFile test2/testFile
[test@localhost ~]$ ls
test2
[test@localhost ~]$ cd test2
[test@localhost test2]$ ls
testFile

 

절대경로는 말그대로 전체 경로를 넣어주는 것이기 때문에 헷갈릴 것은 없습니다.

 

상대경로를 사용할 땐 현재 위치를 기준으로 부모 디렉토리와 현재 디렉토리를 표현한다는 걸 기억하면 좀 더 편하게 명령어 활용이 가능합니다.

  • ../ : 부모 디렉토리
  • ./ : 현재 디렉토리

 

예시) /home/test/test2에 있는 testFile을 상위 경로인 /home/test로 이동시키기

[test@localhost test2]$ pwd
/home/test/test2
[test@localhost test2]$ ls
testFile
[test@localhost test2]$ mv testFile ../
[test@localhost test2]$ ls
[test@localhost test2]$ cd ..
[test@localhost ~]$ ls
test2  testFile

 

예시) /home/test에 있는 모든 로그 파일(.log 확장자)을 /home/test/test2로 보내기

[test@localhost ~]$ ls
a.log  b.log  c.log  test2  testFile
[test@localhost ~]$ mv ./*.log test2
[test@localhost ~]$ ls
test2  testFile
[test@localhost ~]$ cd test2/
[test@localhost test2]$ ls
a.log  b.log  c.log
반응형

댓글

Designed by JB FACTORY