LainyZine: 프로그래머 가이드 🐣

[리눅스] pwd 명령어: 현재 디렉토리 위치 출력

커맨드라인에서 작업을 할 때는 작업 디렉터리(Working directory) 개념이 있습니다. 작업 디렉터리는 현재 활성화된 디렉터리로, 명령어를 실행하거나 상대 경로를 지정하는 기준이 됩니다. 예를 들어서 /home/lainyzine/documents 디렉터리에서 상대 경로 ../tmp를 지정하면 /home/lainyzine/tmp를 의미합니다. 이 작업 디렉터리를 출력해주는 명령어가 바로 pwd입니다.

이 글에서는 리눅스의 pwd 명령어에 대해서 소개하고, 윈도우에서 같은 기능을 하는 명령어도 알아봅니다.

pwd 명령어: 리눅스에서 작업 디렉터리 위치를 확인하는 방법

pwd 명령어는 아주 간단합니다. 인자 없이 pwd를 실행하면 됩니다.

$ pwd
/home/lainyzine/documents

디렉터리를 변경하고 실행하면, 변경된 디렉터리가 출력됩니다.

$ cd /tmp
$ pwd
/tmp

명령어에 대해서는 더 설명할 내용이 없네요😅.

리눅스의 디렉터리 구조와 디렉터리 이동을 하는 cd 명령어에 대해서는 다음 글들에서 자세히 다룹니다.

로지컬 위치와 피지컬 위치의 차이

아주 간단한 명령어입니다만, pwd 명령어에도 몇 가지 옵션이 있습니다. 먼저 --help 옵션을 붙여서 실행해봅니다.

$ pwd --help
pwd: pwd [-LP]
    Print the name of the current working directory.

    Options:
      -L    print the value of $PWD if it names the current working
            directory
      -P    print the physical directory, without any symbolic links

    By default, `pwd' behaves as if `-L' were specified.

    Exit Status:
    Returns 0 unless an invalid option is given or the current directory
    cannot be read.

-L-P 옵션이 있습니다. -L은 로지컬, -P는 피지컬 경로를 의미합니다. 기본값은 -L입니다. 이 두 옵션의 실행 결과는 심볼릭 링크 디렉터리에서 나타납니다. 예를 들어 /home/lainyzine 디렉터리 아래에 /tmp에 연결된 tmp 디렉터리가 있다고 가정해보겠습니다. ls로 확인해보면 다음과 같이 출력됩니다.

$ pwd
/home/lainyzine

$ ls -al
total 12
drwxr-xr-x 3 root root 4096 Jan  2 16:57 ./
drwxr-xr-x 1 root root 4096 Jan  2 16:52 ../
drwxr-xr-x 2 root root 4096 Jan  2 16:52 documents/
lrwxrwxrwx 1 root root    4 Jan  2 16:57 tmp -> /tmp/

tmp 디렉터리에 들어가면 작업 디렉터리는 /home/lainyzine/tmp가 될까요? 아니면 /tmp가 될까요? 답은 둘 다 맞습니다. cd로 이동해서 pwd로 현재 디렉터리를 확인해보겠습니다.

$ cd tmp
$ pwd
/home/lainyzine/tmp

/home/lainyzine/tmp이 출력됩니다. 앞에서 이야기한 대로 pwd의 기본값은 -L이기 때문에, 명시적으로 -L 옵션을 붙여도 같은 값이 출력됩니다.

$ pwd -L
/home/lainyzine/tmp

예상하신 것처럼, 피지컬 경로는 /tmp가 됩니다. -P 옵션을 붙여 실행한 결과는 다음과 같습니다.

$ pwd -P
/tmp

링크가 걸린 디렉터리의 경우 경로가 헷갈리는 경우가 있는데, 필요에 따라서 로지컬 경로나 피지컬 경로를 옵션으로 지정해서 확인해볼 수 있습니다.

pwd 명령어의 위치

pwd는 일반적으로 현재 실행중인 셸에 빌트인 되어있습니다.

$ which pwd
pwd: shell built-in command

별도의 명령어가 있는 경우도 있습니다.

$ which pwd
/usr/bin/pwd

윈도우에서 현재 디렉터리 위치를 확인하는 방법

윈도우에서도 파워셸을 사용한다면 같은 이름을 가진 명령어가 포함되어 있습니다. 출력 형식은 약간 다릅니다.

PS C:\Users\lainy> pwd

Path
----
C:\Users\lainy

명령 프롬프트에서는 pwd 명령어 대신 @cd 명령어를 사용합니다. 그대로 입력하고 실행하면 다음과 같이 현재 디렉터리를 출력해줍니다.

C:\Users\lainy> @cd
C:\Users\lainy

여기까지 리눅스와 윈도우 환경에서 작업 디렉터리를 확인하는 pwd 명령어에 대해서 알아보았습니다.

LainyZine은 쿠팡 파트너스 활동에 따른 수수료를 제공받습니다.