[리눅스] pwd 명령어: 현재 디렉터리 위치 출력
커맨드라인에서 작업을 할 때는 작업 디렉터리(Working directory) 개념이 있습니다. 작업 디렉터리는 현재 활성화된 디렉터리로, 명령어를 실행하거나 상대 경로를 지정하는 기준이 됩니다. 예를 들어서 /home/lainyzine/documents
디렉터리에서 상대 경로 ../tmp
를 지정하면 /home/lainyzine/tmp
를 의미합니다. 이 작업 디렉터리를 출력해주는 명령어가 바로 pwd
입니다.
이 글에서는 리눅스의 pwd 명령어에 대해서 소개하고, 윈도우에서 같은 기능을 하는 명령어도 알아봅니다.
pwd 명령어: 리눅스에서 작업 디렉터리 위치를 확인하는 방법
pwd
명령어는 아주 간단합니다. 인자 없이 pwd
를 실행하면 됩니다.
$ pwd
/home/lainyzine/documents
디렉터리를 변경하고 실행하면, 변경된 디렉터리가 출력됩니다.
$ cd /tmp
$ pwd
/tmp
명령어에 대해서는 더 설명할 내용이 없네요😅.
리눅스의 디렉터리 구조와 디렉터리 이동을 하는 cd
명령어에 대해서는 다음 글들에서 자세히 다룹니다.
- 관련 글: 루트 디렉터리와 디렉터리 구조
- 관련 글: 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 명령어: 작업 디렉터리 이동
$ 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
- 관련 글: which 명령어: 실행 파일 디렉터리 출력
윈도우에서 현재 디렉터리 위치를 확인하는 방법
윈도우에서도 파워셸을 사용한다면 같은 이름을 가진 명령어가 포함되어 있습니다. 출력 형식은 약간 다릅니다.
PS C:\Users\lainy> pwd
Path
----
C:\Users\lainy
명령 프롬프트에서는 pwd 명령어 대신 @cd
명령어를 사용합니다. 그대로 입력하고 실행하면 다음과 같이 현재 디렉터리를 출력해줍니다.
C:\Users\lainy> @cd
C:\Users\lainy
여기까지 리눅스와 윈도우 환경에서 작업 디렉터리를 확인하는 pwd 명령어에 대해서 알아보았습니다.