| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- SoC
- 정보보안
- http
- IR
- 정보보호
- Web
- Bandit
- 모의해킹
- Blue Team
- write-up
- XSS
- 보안 관제
- 블루팀
- TryHackMe
- 사이버 보안
- 해킹 스터디
- THM
- web hacking
- 리눅스
- CTF
- linux
- 리눅스 기초
- cert
- OverTheWire
- Cross-Site Scripting
- 보안 스터디
- Cyber Security
- 워게임
- 해커
- 해킹
- Today
- Total
AnbyMata의 해킹 노트
[Linux 기초] EP.6 - 절대 경로? 상대 경로? 본문
우리는 리눅스 명령어를 사용할 때 디렉토리 경로를 매우 자주 활용해왔습니다.
어렴풋이 느끼시겠지만, 경로는 리눅스에서 매우 중요한 개념입니다. 고로, 경로에 대해 조금 더 깊이 알아보겠습니다.
[1] 경로가 리눅스에서 가지는 의미와 중요성
"경로 (Path)"란 리눅스 파일 시스템에서 파일이나 디렉토리의 위치를 가리키는 주소입니다.
리눅스는 트리 구조를 가지며, 경로는 그 구조 속에서 원하는 자원의 위치를 지정하여 우리가 해당 자원에 접근하고 사용할 수 있게 합니다.

폴더 안에 또 다른 폴더가 들어가고, 그 안에 다시 폴더가 이어지는 계층적 구조를 '트리 구조'라고 합니다.
이제 리눅스에서 경로가 가지는 중요성에 대해 알아봅시다.
1. 파일/디렉토리 식별
+ 내용은 다르고 파일 이름이 동일한 2개의 'paper.txt'가 있다고 해봅시다. 하나는 A 폴더에 있고, 나머지 하나는 B 폴더에 있다고 하면, 우리는 경로가 다른 점을 통해서 2개가 서로 다른 파일임을 구분할 수 있습니다.
2. 작업 효율성
+ 경로를 명령어에 직접 지정하면, 현재 위치를 바꾸지 않고도 원하는 파일이나 디렉토리에 접근할 수 있습니다. 이는 불필요한 이동을 줄여 작업 효율성을 높여줍니다.
3. 보안과 권한 관리
+ 리눅스에서 접근 권한은 경로 단위로 설정됩니다. 따라서 권한 제한 또한 경로를 기준으로 이루어지며, 이 때문에 리눅스의 보안은 경로와 밀접한 관련이 있습니다.
지금부터 [2] 절대경로와 [3] 상대 경로에 대해 설명할건데, 이해가 되지 않더라도 [4]에서 더 구체적으로 설명하니 일단 읽어보기만 하세요.
[2] 절대 경로 (Absolute Path)
- 루트 디렉토리(/) (= 최상위 디렉토리)부터 시작하는 전체 경로
- 현재 내가 어디에 있든 상관없이 항상 동일한 위치를 가리킴
- 절대 경로는 최상위 디렉토리(/)부터 시작하여, 원하는 위치까지의 모든 경로를 순서대로 표현함
- 예시:
+ /home/user/Documents/paper.txt
+ /log/password
[3] 상대 경로 (Relative Path)
- 현재 디렉토리(.)를 기준으로 경로를 표현
- 현재 내 위치에 따라 가리키는 대상이 달라짐
- '.' = 현재 디렉토리, '..' = 상위 디렉토리 ('.'과 '..')를 활용하여 현재 위치에서부터 원하는 위치까지의 경로를 순서대로 표현함
- 예시:
+ ./file.txt (현재 디렉토리 안에 있는 file.txt)
+ ../Documents (상위 디렉토리 안에 있는 Documents)
+ ../../password (두 단계 위에 있는 디렉토리 안에 있는 password)
[4] 절대 경로 VS 상대 경로 이해하기
본격적으로 절대 경로(Absolute Path)와 상대 경로(Relative Path)를 비교해가며 둘을 완벽히 이해해봅시다.
이해를 위해 평면 좌표 그림을 하나 그려왔습니다. (desmos.com을 활용한 그림)
원점 O와 점 A(2,3), B(-1,-1), C(4,1)로 원점 포함 총 4개의 점이 있는 좌표계입니다.
여기서 원점 O를 루트 디렉토리 (최상위 디렉토리)라고 가정합니다.
(최상위 디렉토리 = 모든 경로의 시작점 / 원점을 이 좌표계의 시작점이라 가정합시다.)

현재 우리의 위치를 점 A(2,3)라고 해봅시다.
점 B, C를 절대 위치와 상대 위치로 표현해보겠습니다.
(추가적으로 (a,b)를 x축으로 a만큼 이동, y축으로 b만큼 이라고 하겠습니다.)
절대 위치 (Absolute Path)
절대 위치는 아시다시피 현재 우리의 위치가 어디든 상관없이 최상위 디렉토리(여기선 원점 O)를 기준으로 가리킵니다.
점 B(-1,-1)는 원점에서 x축으로 -1만큼, y축으로 -1만큼 이동했을 때의 위치입니다. 따라서,
B(-1,-1)의 절대 경로: /(-1,-1)
점 C(4,1)는 원점에서 x축으로 +4만큼, y축으로 +1만큼 이동했을 때의 위치입니다. 따라서,
C(4,1)의 절대 경로: /(4,1)
현재 우리의 위치가 점 B이거나 점 C더라고 점 B의 절대 경로는 /(-1,-1)이고, 점 C의 절대 경로는 /(4,1) 입니다.
즉, 절대 경로는 언제나 최상위 디렉토리(/)로부터 시작됩니다.
상대 위치 (Relatie Path)
상대 위치는 현재 우리의 위치를 기준으로 가리킵니다. 그리고 현재 위치는 점 A(2,3)입니다.
점 B(-1,-1)는 점 A에서 x축으로 -3만, y축으로 -4만큼 이동했을 때의 위치입니다. 따라서,
B(-1,-1)의 A 기준 상대 경로: ./(-3,-4) (현재 위치에서 x축으로 -3, y축으로 -4 이동한 위치)
점 C(4,1)는 점 A에서 x축으로 +2만큼, y축으로 -2만큼 이동했을 때의 위치입니다. 따라서,
C(4,1)의 A 기준 상대 경로: ./(2,-2) (현재 위치에서 x축으로 +2, y축으로 -2 이동한 위치)
현재 나타낸 상대 경로는 현재 위치인 점 A를 기준으로 나타낸 것이기 때문에, 현재 위치가 점 B나 점 C로 바뀐다면 그에 맞추어 상대 경로는 변하게 될 것입니다.
따라 상대 경로는 보통 현재 디렉토리(.) 또는 상위 디렉토리(..)를 활용합니다.
[5] 절대 경로 VS 상대 경로 예시
그림으로 상황을 하나 만들어봅시다.

이러한 상황에서 현재 우리의 위치를 'Mid_B'라고 하고, 각 폴더들의 위치를 절대 위치와 상대 위치로 나타내보면,
(미리 한 번 작성해보고 비교해보세요)
<상대 경로> == <절대 경로> #나타내는_위치
. == /root/Top_B/Mid_B #Mid_B (현재위치)
../.. == /root #root
../../Top_A == /root/Top_A #Top_A
.. == /root/Top_B #Top_B
../../Top_A/Mid_A == /root/Top_A/Mid_A #Mid_A
../Mid_C == /root/Top_B/Mid_C #Mid_C
./Bot_A == /root/Top_B/Mid_B/Bot_A #Bot_A
./Bot_B == /root/Top_B/Mid_B/Bot_B #Bot_B
이런 식으로 나타낼 수 있습니다.
마지막으로 Kali Linux를 켜고 터미널에서 ls로 폴더를 확인하세요. 그 다음 상대 경로(.., ./폴더)와 절대 경로(/root/...)를 이용해 cd로 여러 경로를 이동해보세요.
EP.6 - 절대 경로? 상대 경로?. END.
EP.7 - 리눅스 편리하게 사용하기 - man과 자동완성. Continue...
폴더 이미지 출처: <a href="https://www.flaticon.com/kr/free-icons/-fodlers" title="파일 및 fodlers 아이콘">파일 및 fodlers 아이콘 제작자: NajmunNahar - Flaticon</a>
'[Linux 기초]' 카테고리의 다른 글
| [Linux 기초] EP.8 - vi 편집기로 파일 생성, 입력, 저장하기 (vi) (2) | 2025.10.04 |
|---|---|
| [Linux 기초] EP.7 - 리눅스 편리하게 사용하기 - man과 자동완성 (0) | 2025.09.23 |
| [Linux 기초] EP.5 - 파일과 디렉토리 목록 확인하기 (ls) (0) | 2025.09.01 |
| [Linux 기초] EP.4 - 리눅스의 경로 탐색 (디렉토리, pwd, cd) (2) | 2025.08.30 |
| [Linux 기초] EP.3 - 리눅스 기초 지식 (5) | 2025.08.26 |