How do I change my pwd to the real path of a symlinked directory?

Johan Fredrik Varen picture Johan Fredrik Varen · Feb 19, 2010 · Viewed 16.9k times · Source

Here's a rather elementary *nix question:

Given the following symlink creation:

ln -s /usr/local/projects/myproject/ myproject

... from my home directory /home/jvf/, entering the myproject symlink gives me a pwd /home/jfv/myproject/. Now, I would like to enter the parent directory of the directory I've symlinked to, but the cd .. command will only bring me back to my home directory /home/jfv/. Is there anyway to escape the symlink trail that I've entered, and instead have a pwd equal to the actual path of the myproject directory. That is, changing my pwd from /home/jfv/myproject/ into /usr/local/projects/myproject/?

Thanks :)

Answer

Cfr picture Cfr · Feb 19, 2010

Just use -P (physical) flag:

pwd -P

cd -P ..