$ mkdir test_link $ cd test_link/ $ ln -s /tmp/ link_to_tmp $ ls -l total 0 lrwxrwxrwx. 1 kikinovak kikinovak 5 Sep 17 10:56 link_to_tmp -> /tmp/ $ rm link_to_tmp/ rm: cannot remove ‘link_to_tmp/’: Is a directory $ rmdir link_to_tmp/ rmdir: failed to remove ‘link_to_tmp/’: Not a directory
I tried the same thing on a different box, running Slackware 14.2, and I can remove my symbolic link without any hassle.
I sense something is very wrong here. Any suggestions?
Yeah, it's just one of the oddities of symlinks. Try doing the rm command without the trailing slash. A symlink isn't a directory, it's an entry that links to a directory - but if you put the trailing slash, rm thinks it is a directory so won't touch it. I think it depends on at what stage the symlink is dereferenced in the rm command. Presumably the rmdir command checks the filetype before doing anything.
I came across this when using tab completion - that puts the extra slash on the end when encountering a directory and it caused me to go looking for the answer.
P.