Ubuntu: show the target of current directory(symbolic link)



Question:

I'm in directory ~/a which is a symbolic link to ~/b/c. My prompt looks like:

~/a$  

But I hope to cd to ~/b/c.

~/a$ cd .  ~/a$  

It doesn't work. What's the right way?


Solution:1

Here is a way of changing to the target of the given symbolic link:

cd -P .  

Here is how it works

user@host:~/tmp$ ls   @a b  user@host:~/tmp$ file a  a: symbolic link to `b/c'  user@host:~/tmp$ cd a  user@host:~/tmp/a$ cd .  user@host:~/tmp/a$ cd -P .a  user@host:~/tmp/b/c$  

You can alias it to

cdl='cd -P'  

From the bash manual:

The -P option says to use the physical directory structure instead of following symbolic links


Solution:2

If you are simply trying to get to the other directory, then the solution is to enter it manually (otherwise the system will not follow the link back to its source).

Example:

cd ~/b/c

You can assign an alias for this using:

alias cdtobc="cd ~/b/c"

(The above is an example, and you can of course substitute values as needed).


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »