How do I move a relative symbolic link?

anasdox picture anasdox · Dec 15, 2011 · Viewed 29.7k times · Source

I have a lot of relative symbolic links that I want to move to another directory.

How can I move symbolic links (those with a relative path) while preserving the right path?

Answer

Christopher Neylan picture Christopher Neylan · Dec 15, 2011

You can turn relative paths into full paths using readlink -f foo. So you would do something like:

ln -s $(readlink -f $origlink) $newlink
rm $origlink

EDIT:

I noticed that you wish to keep the paths relative. In this case, after you move the link, you can use symlinks -c to convert the absolute paths back into relative paths.