120

I'm trying to create a symlink in my home directory to a directories and files on my data partition. I've tried:

~/Documents$ ln -sv ~/Documents/saga /media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc

to create a symlink named saga in my Documents directory in my home folder. The terminal output is:

ln: failed to create symbolic link ‘/media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc’: File exists

I was checking the content of ~/Documents with ls -a , there is nothing but . and ... In general my home folder is empty, it's just a fresh system installation.

Jorge Castro
  • 73,717
maria
  • 2,037

5 Answers5

78

This is a classical error... it's the other way around:

ln -s Existing-file New-name 

so in your case

ln -sv /media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc ~/Documents/saga 

should work. Note though:

  1. if ~/Documents/saga exists and is not a directory, you will have the error too;

  2. if ~/Documents/saga exists and is a directory, the symbolic link will be ~/Documents/saga/saga..doc (are you sure about the double dot?)

  3. if ~/Documents/saga does not exists, you symbolic link will be ~/Documents/saga (as it is, no extension).

Rmano
  • 32,167
50

I have same error message
when redirecting

ln -s /usr/bin/nodejs /usr/bin/node

from node.js v0.10.25
to node.js v4.2.3
so I look at man ln and use

[OPTION] 
-f, --force
          remove existing destination files

This is work as I expected.

22

As @Rmano responded in his answer the arguments were in the wrong order. I made the same mistake pretty often too. Thus I found a

Fool-proof way to create symbolic links

First go into the directory where you want to create the link

cd ~/Documents/saga

Then create the link with a single argument.

ln -s /very/long/path/to/target/Downloads/saga..doc

This will create a link to the current directory with the same name as the target.

MadMike
  • 4,275
  • 8
  • 29
  • 50
4

Just to add new information, you can remove the current symlink, then re-create the symlink.

rm  ~/Documents/saga

Then re-create the symlink:

ln -sv /media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc ~/Documents/saga

Hope this helps anyone who still faces 'file exists' error.

2

Might be unrelated.
For me the link was dead. Pointing to a non existing folder. When trying to replace it, it would fail with this message. ^ So a simple rm linkName was enough.

AdrianH
  • 21