| |
Symlinks
By: A.P. Lawrence
Expert Author
2005-11-07
Linux "symlinks" is a handy utility for managing symbolic links. It can clean up the sort of problems that come from carelesness when creating symbolic links.
For purposes of illustration, I created some legal but structurally incorrect symbolic links. With the exeption of the "dangling" sl3 (a dangling symlink points somewhere that does not exist), these all work, but they have problems, and "symlinks -v" will show us:
$ symlinks -v -s .
messy: /home/tony/varwwwmess -> /var//www
dangling: /home/tony/sl2 -> ../incoming
lengthy: /home/tony/sl3 -> ../tony/incoming
other_fs: /home/tony/varwww -> /var/www
absolute: /home/tony/vhosts -> /home/httpd/vhosts/
relative: /home/tony/webby -> vhosts/webby.com
That's helpful. Even more helpful is that symlinks can clean this stuff up in a flash:
$ symlinks -c -s .
messy: /home/tony/varwwwmess -> /var//www
changed: /home/tony/varwwwmess -> /var/www
dangling: /home/tony/sl2 -> ../incoming
lengthy: /home/tony/sl3 -> ../tony/incoming
changed: /home/tony/sl3 -> incoming
other_fs: /home/tony/varwww -> /var/www
absolute: /home/tony/vhosts -> /home/httpd/vhosts/
changed: /home/tony/vhosts -> ../httpd/vhosts
$ symlinks -v -s .
other_fs: /home/tony/varwwwmess -> /var/www
relative: /home/tony/sl3 -> incoming
dangling: /home/tony/sl2 -> ../incoming
other_fs: /home/tony/varwww -> /var/www
relative: /home/tony/vhosts -> ../httpd/vhosts
relative: /home/tony/webby -> vhosts/webby.com
The -c fixes all problems, but does leave the dangling link. To remove it:
$ symlinks -d .
other_fs: /home/tony/varwwwmess -> /var/www
dangling: /home/tony/sl2 -> ../incoming
deleted: /home/tony/sl2 -> ../incoming
other_fs: /home/tony/varwww -> /var/www
"symlinks" can operate recursively with "-r" and can show you its actions with "-t".
*Originally published at APLawrence.com
About the Author:
A.P. Lawrence provides SCO Unix and Linux consulting services http://www.pcunix.com
|
|