파일 경로 - 절대 경로와 상대 경로

Bam·2022년 2월 9일
9

CS

목록 보기
1/28
post-thumbnail

파일 경로는 대단히 중요합니다. 모듈이나 미디어 파일을 이용할 때 경로가 잘못된다면 오류가 날 수도 있고, mkdir, cd 등의 리눅스 명령어를 이용할 때도 경로를 잘못 입력하면 원하는 결과와 전혀 다른 결과를 초래하게 됩니다.


절대 경로

절대 경로는 파일의 root부터 해당 파일까지의 전체 경로(URL)를 의미합니다. 절대 경로는 보통 다른 사람의 문서나 파일을 이용할 때 사용합니다. 절대 경로는 어느 곳에서든 경로에 접근할 수 있다는 장점이 존재합니다. 그러나 경로가 변경되면 경로를 일일히 수정해야한다는 단점이 있습니다.

절대 경로는 보통 다음과 같은 것들을 의미합니다.

https://velog.io/@bami
C:\Program Files\Git


상대 경로

상대 경로는 현재 파일의 위치를 기준으로 연결하려는 파일의 상대적인 경로를 적는 것을 의미합니다. 상대 경로는 주소나 프로젝트 디렉토리 위치가 바뀌어도 내부 구조만 그대로라면 수정없이 그대로 사용할 수 있다는 장점을 가지고 있습니다. 그러나 자기 자신이 기준이기 때문에 자기 자신의 위치가 바뀌는 것에 취약하다는 단점이 있습니다.
상대 경로는 보통 다음과 같이 명시한 것들을 의미합니다.

./src/compnents/Counter.js
../../img/logo.jpg

보니까 절대 경로와는 다르게 상대 경로에는 ./../같은 것들이 사용되죠? 이들에 대해서 알아보겠습니다.

기호의미
/root
./현재 위치
../상위 경로

/만 사용되면 root, 즉 가장 토대가 되는 경로가 선택됩니다.
./는 현재 위치를 나타냅니다. 현재 위치 ./는 보통 생략합니다.
../는 상위 경로를 나타냅니다. 상위 경로는 현재 폴더가 속한 폴더를 가리킵니다.

다음 디렉터리 구조를 예를 들어서 좀 더 자세히 알아보겠습니다.
디렉토리 구조
우리가 c.txt에서 작업을 하고 있을 때, a.txt파일로 이동하고 싶다면 다음과 같이 경로를 작성합니다.

../../a/a.txt

반대로, a.txt에서 c.txt를 향하고 싶으면 다음과 같이 작성합니다.

../c/inner_C/c.txt

temp를 root로 가정했을 때, root를 기준으로 a.txt의 위치를 나타내고 싶다면 다음과 같이 나타냅니다.

/a/a.txt


절대 경로와 상대 경로의 용도

그렇다면 절대 경로상대 경로는 각각 언제 사용해야 할까요? (웹 개발 기준)

일반적으로 절대 경로CDN(콘텐츠 전송 네트워크)을 사용하거나, 웹에 올려진 미디어 등을 사용할 때 사용합니다. 상대 경로는 디렉토리 내부에서 모듈을 연결하거나, 다른 파일을 import하는 경우에 사용하게 됩니다.

4개의 댓글

comment-user-thumbnail
2023년 5월 2일

너무 잘 봤습니다. a.txt c.txt부분이 서로 바뀐 것 같은데 확인 부탁드립니다.

1개의 답글
comment-user-thumbnail
2023년 6월 24일

안녕하세요! 현재 html을 공부중인데 절대경로와 상대경로의 차이점을 잘 몰랐는데 여기서 알아가서 좋네요 ㅎㅎ 혹시 출처를 남기고 제 노션에 따로 정리해도 괜찮을까요?

1개의 답글