No meu sistema (Debian; Linux 2.6; rm --version
reporta GNU coreutils 8.5), se dir é um ponto de montagem, o seguinte remove arquivo , mas não dir ou link , e me dá o mesmo erro que você viu:
# mkdir dir && touch dir/file && ln -s dir link
# rm -r link/
rm: cannot remove 'link': Not a directory
# ls
dir link
# ls -l dir
total 0
# mount .../scratch_filesystem dir
# touch dir/file
# rm -r link/
rm: cannot remove 'link': Not a directory
# ls
dir link
# ls -l dir
total 0
Se eu estou seguindo você corretamente, seu comando rm -r link/
não remove o arquivo , a menos que dir / seja um ponto de montagem. Se for esse o caso, acho que você está vendo um bug em rm
. Não há uma boa razão para um ponto de montagem mudar seu comportamento assim.
Seria interessante saber qual versão de rm
você está usando.