[CentOS] Very weird problem with handling symbolic links
Pete Biggs
pete at biggs.org.uk
Mon Sep 17 09:17:51 UTC 2018
>
> $ 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.
More information about the CentOS
mailing list