리눅스에서 pwd
명령어는 콘솔에서 현재 작업 중인 디렉토리의 위치를 확인할 수 있는 명령어입니다.
예를 들어, 웹 서버 디렉토리를 /home/httpd/www/html/라고 가정했을 때 pwd
명령어를 사용하면 다음과 같이 표시됩니다.
[user@localhost html]$ pwd /home/httpd/www/html
이 서버에는 phpMyAdmin이 설치되어 있는데, PHPMyAdmin은 대부분 /usr/share/phpMyAdmin 위치에서 사용됩니다.
만약 서버에서 해당 파일을 웹 서버에서 심볼릭 링크(Symbolic Link)로 참조하고 있다고 가정해보겠습니다. 심볼릭 링크는 쉽게 말하면 특정 경로의 위치를 참조하고 있는 파일입니다.
ls -al
명령어로 현재 디렉토리를 조회하면 phpmyadm으로 phpMyAdmin 디렉토리가 소프트 링크로 지정됨을 알 수 있습니다.
[user@localhost html]$ ls -al ... lrwxrwxrwx. 1 httpd httpd 22 Aug 10 19:01 phpmyadm -> /usr/share/phpMyAdmin/ -rwxr-xr-x. 1 httpd httpd 257426 Sep 2 21:46 index.html
이후 cd
명령어를 사용하여 PhpMyAdmin 디렉토리로 이동합니다. 이후 pwd
를 사용하면 어떻게 표시될까요?
[user@localhost phpmyadm]# pwd /home/httpd/www/html/phpmyadm
본의아니게 실제 경로가 아니고 소프트 링크(Soft Link)로 설정된 경로가 나타납니다.
리눅스 pwd 명령어 실제 경로 확인 방법
이 때 pwd -P
와 같이 -P 옵션을 붙이면 이러한 심볼릭 링크를 무시한 채로 실제 디렉토리의 경로를 알려주게 됩니다.
[user@localhost phpmyadm]# pwd -P /usr/share/phpMyAdmin
이제 /usr/share/phpMyAdmin 경로가 나타나는 것을 알 수 있습니다.
Linux man 페이지에서도 다음과 같이 기술되어 있습니다.
Print the full filename of the current working directory. -L, --logical use PWD from environment, even if it contains symlinks -P, --physical avoid all symlinks
-P 옵션