91

I made a symbolic link with the following commmand:

ln -s ../test5

I want to remove it now but my rm fails:

$ rm -Rf test5/
rm: cannot remove `test5/': Not a directory
$ rm test5/
rm: cannot remove directory `test5/': Is a directory
$ rmdir test5/
rmdir: test5/: Not a directory
$rm -r test5/
rm: cannot remove `test5/': Not a directory

$ls -l
 0 lrwxrwxrwx  1 peter peter    8 Jul 20 15:30 test5 -> ../test5/

How can I remove my symbolic link? (Ubuntu 8.10, bash)

  • 3
    TIP: rm -r link/ deletes the content on the target – Gayan Weerakutti Sep 21 '16 at 9:16
116

Remove the trailing slash:

With prompt:

$ rm test5

Without prompt:

$ rm -f test5

  • It says permission denied. – 1.21 gigawatts Jul 4 '15 at 8:24
  • Without trailing slash. So test5/ is incorrect. – pylover Aug 7 '16 at 12:38
18

Try rm test5
(without the training slash).

The slash indicates that 'test5' is a direactory whereas it's actually a file linking to a directory.

12

You can run removing the trailing slash:

$ rm test5

This will remove the file (i.e. the symlink).

Alternatively you may use unlink:

$ unlink test5

Again you must omit the trailing slash since you are attempting to unlink the symlink not the directory.

0

Sometimes if you use autocomplete to name the link that you want to delete you may not see a trailing slash but it's 'half there' and that invisible slash still gives the delete error when trying to remove that link.

So in that case type out character by character the link to be deleted as "test5" as eg. rm test5.

  • 1
    Never heard of invisible slash. What shell does this? – Kamil Maciorowski Feb 14 '18 at 23:30
  • I think it's possibly a reference to the character being hidden by linewrap+cursor? – bertieb Feb 14 '18 at 23:48
-2

I feel silly asking, but have you tried rm -r? Since it's a symbolic link it shouldn't delete the target.

Edit: Just tried it, it's correct

Edit 2: rmdir says in its first line of the man page it deletes empty directories. I would think because it's a link it had the directory bit checked on its file properties, but because rmdir doesn't suspect that being the case it spits errors. Just use rm -r

  • 2
    This will ask me to delete the files in the directory, that's not what I want, I want to delete only the link – Peter Smit Jul 20 '09 at 12:46
  • The asking was because interactive was defined in my .profile. Added the response to rm -r. It still doesn't work. – Peter Smit Jul 20 '09 at 12:50
  • You left the trailing '/' that's why it failed – bobby Jul 20 '09 at 12:52

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.