While I was trying to compile a C shared object library, I accidentally created two symbolic links which point to each other. Is there a way to get rid of them without nuking the whole directory? I read that the only way to break a symbolic link is to delete the file it points to, but I'm sure there must be another way. Thanks for the help.
-
4Then delete the file it po... oh god. How did you manage this? :P– PhoshiFeb 2, 2010 at 15:32
-
2It is easy to do, and even easier to fix. Simlinks point at a filename, and the target filename does not even have to exist. And rm removes the simlink, not the file it points to.– Justin SmithFeb 2, 2010 at 21:08
Add a comment
|
3 Answers
It's not a problem to delete symbolic links. I'm not sure why you think that you need to delete the file the link points to.
Just delete them. Try this:
ln -s thing1 thing2 # thing1 does not exist
ln -s thing2 thing1 # circular reference
rm thing1 thing2 # no problem
Nevermind, I can delete both links simultaneously with rm
. Why did someone say I had to delete the target file...
-
3
-
1You could have even just deleted one of the simlinks and left the other - if you had any reason to. Feb 2, 2010 at 21:07
When you delete a symbolic link in Linux, the link is deleted and not the target file.