본문 바로가기

운영체제/리눅스

pwd 명령어의 동작 원리와 실습, 리눅스 경로 관리

pwd 명령어의 동작 원리와 실습, 리눅스 경로 관리

리눅스 시스템을 다룰 때, 현재 사용자가 위치한 **디렉터리(경로)**를 확인하는 것은 필수적인 작업입니다. 이를 가능하게 해주는 명령어가 바로 pwd (Print Working Directory)입니다. pwd 명령어를 이해하면, 파일 시스템 내에서의 경로 탐색과 스크립트 작성이 훨씬 쉬워집니다.

 

 

목차

  1. pwd 명령어란?
  2. pwd 명령어 사용법
  3. 절대 경로와 상대 경로
  4. pwd 명령어의 주요 옵션
  5. pwd 명령어의 동작 원리 (셸 내부 동작)
  6. pwd 관련 문제 해결 방법
  7. 결론

 

1. pwd 명령어란?

pwd는 **현재 사용자가 위치한 디렉터리의 절대 경로를 출력하는 명령어**입니다. 이 명령어는 리눅스뿐만 아니라 대부분의 UNIX 계열 운영체제에서 기본적으로 제공됩니다.

🔹 왜 pwd 명령어가 중요한가?

  • 현재 작업 중인 디렉터리를 정확히 파악할 수 있습니다.
  • 파일을 복사하거나 이동할 때 **경로를 확인하는 용도**로 사용됩니다.
  • 스크립트 실행 시 **작업 디렉터리를 확인하여 오류를 방지**할 수 있습니다.

 

 

 

2. pwd 명령어 사용법

기본적으로 pwd 명령어를 실행하면 현재 디렉터리의 절대 경로가 출력됩니다.

$ pwd
/home/user

위 예제에서는 사용자가 /home/user 디렉터리에 위치해 있음을 알 수 있습니다.

 

 

 

3. 절대 경로와 상대 경로

리눅스 파일 시스템에서 경로를 지정할 때, **절대 경로(Absolute Path)**와 **상대 경로(Relative Path)** 개념을 이해하는 것이 중요합니다.

경로 유형 설명 예시
절대 경로 루트(/)를 기준으로 전체 경로를 나타냄 /home/user/docs/file.txt
상대 경로 현재 디렉터리를 기준으로 경로를 설정 ../docs/file.txt

 

 

 

4. pwd 명령어의 주요 옵션

pwd 명령어에는 몇 가지 유용한 옵션이 있습니다.

  • -L (Logical Path) → 심볼릭 링크를 따라 논리적 경로 출력
  • -P (Physical Path) → 심볼릭 링크를 해석하여 실제 경로 출력

🔹 옵션별 예제

$ pwd -L
/home/user/docs

$ pwd -P
/home/.hidden/docs

 

 

 

 

5. pwd 명령어의 동작 원리 (셸 내부 동작)

pwd 명령어는 크게 두 가지 방식으로 실행됩니다.

  • **셸 내장 명령어(builtin)로 실행** → bash, zsh 등에서 자체 제공
  • **외부 프로그램으로 실행** → /bin/pwd로 실행 가능

🔹 셸 내장 vs 외부 명령어 확인

$ type pwd
pwd is a shell builtin

$ which pwd
/bin/pwd

 

 

 

6. pwd 관련 문제 해결 방법

pwd 명령어를 사용할 때 예상치 못한 문제가 발생할 수도 있습니다. 대표적인 문제와 해결 방법을 살펴보겠습니다.

🔹 문제 1: 심볼릭 링크 문제

심볼릭 링크를 따라가면 예상과 다른 경로가 출력될 수 있습니다.

  • pwd -L을 실행하면 링크가 유지됩니다.
  • 실제 물리적 경로가 필요하면 pwd -P를 사용하세요.

🔹 문제 2: 환경 변수 충돌

PWD 환경 변수가 변경되면 pwd 명령어의 결과가 다를 수 있습니다.

$ echo $PWD
/home/user

$ cd /tmp
$ echo $PWD
/tmp

 

 

 

7. 결론

pwd 명령어는 리눅스에서 **현재 작업 디렉터리를 확인하는 가장 기본적인 명령어**입니다. 단순한 명령어 같지만, **심볼릭 링크, 셸 내장 명령어, 환경 변수 등과 연관되어 있어 깊이 있는 이해가 필요**합니다.