58

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.

  • Thanks. It seems my question is not very useful. Should I delete it? Or you convert your comment in the reply so I could accept it as solved :) – maria Oct 30 '14 at 9:57
  • 3
    Your question has a score of four, so apparently the community decided that it is useful. Also, even if you tried you wouldn't be able to delete the question, since it has an answer with a score of 1 or more. – 11684 Oct 30 '14 at 19:29
  • I got my answer to this question from here (on this forum): askubuntu.com/questions/379647/… – wayneeusa Jun 24 '15 at 7:57
44

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).

  • 11
    Always remember that the parameter order is as in cp – Hagen von Eitzen Oct 30 '14 at 12:18
  • ... as discussed here on Super User. – G-Man Oct 30 '14 at 15:21
  • 2
    My mnemonic for this is "what where", e.g., link what where, move what where... – MicrosoftFree Oct 30 '14 at 18:45
  • 1
    There's even cp -s. – deltab Oct 31 '14 at 3:24
17

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.

  • 1
    i dont actually get your answer/point, what is the whole script you used? I think we have the same problem – theArc Mar 26 '16 at 9:05
  • 1
    I think what he is suggesting to to add --force to your ln command ln -sv ~/Documents/saga /media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc --force – DropHit Apr 29 '16 at 15:37
  • So that'd be ln -sf ... – Pathros Nov 1 '18 at 19:38
16

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.

0

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.

0

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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