INIDOG
gb-default-image-2018-dog

리눅스 pwd 명령어 실제 경로 확인 방법 (심볼릭 링크 무시)

리눅스에서 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 옵션

이 글에 대해 어떻게 생각하시나요?
유용한 포스트였나요? 여러분의 의견을 하단의 Vote와 댓글로 남겨주세요 🙂
유용합니다!
아쉽습니다.

여러분의 의견을 댓글로 남겨주세요.

avatar
error: