Computer >> 컴퓨터 >  >> 시스템 >> Linux

리눅스 pwd 명령어 완벽 가이드: 현재 작업 디렉터리 확인 방법

리눅스 명령줄 인터페이스(CLI)를 사용할 때 반드시 익혀야 할 핵심 명령어 중 하나가 바로 pwd입니다. pwd는 print working directory(작업 디렉터리 출력)의 약자로, 현재 자신이 위치한 디렉터리 경로를 화면에 표시해 줍니다.

이 가이드에서는 pwd 명령어의 기본 사용법부터 시작하여, 현재 작업 중인 디렉터리의 물리적 경로와 논리적 경로를 각각 확인하는 방법까지 자세히 알아봅니다.

현재 위치한 리눅스 디렉터리 확인 방법

현재 어느 디렉터리에 있는지 확인하려면 명령줄을 열고 다음 명령어를 입력합니다.

pwd

실행 결과는 대략 다음과 같이 표시됩니다.

/home/gary

파일 시스템 내에서 이동할 때마다 작업 디렉터리가 변경되며, pwd 명령어는 그때마다 현재 위치를 실시간으로 반영합니다.

예를 들어 cd 명령어로 documents 폴더로 이동한 후 pwd를 실행하면 다음과 같은 결과가 출력됩니다.

/home/gary/documents

심볼릭 링크된 폴더로 이동하면 pwd는 무엇을 표시할까?

이 질문에 답하기 위해 다음과 같은 시나리오를 가정해 보겠습니다.

다음과 같은 폴더 구조가 있다고 생각해 봅니다.

  • home
    • gary
      • documents
        • folder1
        • folder2

여기서 folder1을 가리키는 심볼릭 링크를 다음과 같이 생성했다고 가정합니다.

ln -s /home/gary/documents/folder1 /home/gary/documents/accounts

이제 폴더 트리는 다음과 같은 모습이 됩니다.

  • home
    • gary
      • documents
        • folder1
        • folder2
        • accounts

ls 명령어는 특정 위치에 있는 파일과 폴더 목록을 보여줍니다.

ls -lt

documents 폴더에서 ls 명령어를 실행하면 accounts 항목이 다음과 같이 표시됩니다.

accounts -> folder1

즉, 심볼릭 링크는 파일 시스템 내의 다른 위치를 가리키는 포인터 역할을 합니다.

이제 documents 폴더에 있는 상태에서 cd 명령어로 accounts 폴더로 이동했다고 가정해 봅시다. 이때 pwd의 출력 결과는 무엇일까요?

/home/gary/documents/accounts라고 추측하셨다면 정답입니다. 하지만 여기서 accounts 폴더에 ls 명령어를 실행하면 실제로는 folder1 폴더 안의 파일들이 표시됩니다. 겉으로 보이는 경로와 실제 경로가 다른 상황인 것이죠.

이럴 때 다음 명령어를 사용하면 실제 물리적 위치를 확인할 수 있습니다.

pwd -P

심볼릭 링크된 폴더 안에서 위 명령어를 실행하면 물리적 경로가 표시되며, 이 예제에서는 /home/gary/documents/folder1이 됩니다.

반대로 논리적 경로를 확인하려면 다음 명령어를 사용합니다.

pwd -L

이 명령어는 옵션 없이 실행한 pwd와 동일한 결과를 보여주며, 이 경우 /home/gary/documents/accounts가 출력됩니다.

명령어가 기본적으로 물리적 경로를 반환하는지, 논리적 경로를 반환하는지는 시스템에 pwd가 어떻게 설정·컴파일되었는지에 따라 달라집니다. 따라서 원하는 동작을 명확히 지정하려면 -P 또는 -L 옵션을 함께 사용하는 것이 모범 사례입니다.

$PWD 변수 활용 방법

pwd 명령어 외에도 $PWD 환경 변수의 값을 출력하면 현재 작업 디렉터리를 확인할 수 있습니다.

echo $PWD

이전 작업 디렉터리 표시 방법

직전에 있던 작업 디렉터리를 확인하고 싶다면 다음 명령어를 실행합니다.

echo $OLDPWD

실행 결과에는 현재 디렉터리로 이동하기 전에 머물렀던 디렉터리 경로가 표시됩니다. 디렉터리를 오갔다가 되돌아가야 할 때 유용하게 활용할 수 있습니다.

pwd 명령어가 여러 개 존재하는 경우

pwd 명령어는 시스템 설정 방식에 따라 서로 다르게 동작할 수 있습니다. 대표적인 예가 쿠분투(Kubuntu) 리눅스입니다.

셸(shell)에 내장된 버전의 pwd, 즉 일반적으로 pwd를 입력했을 때 실행되는 버전은 심볼릭 링크된 폴더 안에서 논리적 작업 디렉터리를 표시합니다. 반면 다음과 같이 절대 경로로 실행하면 같은 상황에서 물리적 작업 디렉터리를 표시합니다.

/usr/bin/pwd

이러한 결과는 다소 혼란스러울 수 있습니다. 사실상 동일한 명령어를 기본 모드로 실행했는데도 정반대의 결과가 나오기 때문입니다. 그렇기 때문에 처음부터 -P-L 옵션을 습관적으로 사용하는 것이 좋습니다.

pwd와 함께 유용한 추가 옵션

pwd 명령어와 함께 알아두면 유용한 옵션이 두 가지 더 있습니다. 첫 번째는 다음과 같습니다.

pwd --version

이 옵션은 현재 설치된 pwd의 버전 정보를 표시합니다.

단, 셸 내장 버전의 pwd에는 --version 옵션이 작동하지 않을 수 있습니다. 이 옵션은 /bin/pwd 독립 실행형 버전에서만 정상적으로 작동합니다.

두 번째 옵션은 다음과 같습니다.

pwd --help

이 옵션은 매뉴얼 페이지를 터미널 창에 직접 출력해 줍니다.

마찬가지로 이 옵션도 셸 내장 버전에서는 작동하지 않으며, /bin/pwd 버전에서만 사용할 수 있습니다.