Что такое ошибка "не удалось создать символическую ссылку: файл существует"?

Я пытаюсь создать символическую ссылку в моем домашнем каталоге на каталоги и файлы в моем разделе данных. Я пробовал:

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

создать символическую ссылку с именем saga в моем Documents каталог в моем home папка. Выход терминала:

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

Я проверял содержание ~/Documents с ls -a ничего кроме . а также .., В общем мой home папка пуста, это просто новая установка системы.

5 ответов

Решение

Это классическая ошибка... это наоборот:

ln -s Existing-file New-name 

так в вашем случае

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

должно сработать. Обратите внимание:

  1. если ~/Documents/saga существует и не является каталогом, у вас тоже будет ошибка;

  2. если ~/Documents/saga существует и является каталогом, символическая ссылка будет ~/Documents/saga/saga..doc (ты уверен насчет двойной точки?)

  3. если ~/Documents/saga не существует, ваша символическая ссылка будет ~/Documents/saga (как есть, без расширения).

У меня такое же сообщение об ошибке
при перенаправлении

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

из node.js v0.10.25
to node.js v4.2.3
так что я смотрю на man lnи использовать

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

Это работа, как я ожидал.

Когда @Rmano ответил в своем ответе, аргументы были в неправильном порядке. Я тоже часто совершал одну и ту же ошибку. Таким образом я нашел

Надежный способ создания символических ссылок

Сначала зайдите в каталог, где вы хотите создать ссылку

cd ~/Documents/saga

Затем создайте ссылку с одним аргументом.

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

Это создаст ссылку на текущий каталог с тем же именем, что и цель.

Просто чтобы добавить новую информацию, вы можете удалить текущую символическую ссылку, а затем заново создать символическую ссылку.

rm  ~/Documents/saga

Затем заново создайте символическую ссылку:

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

Надеюсь, что это помогает любому, кто все еще сталкивается с ошибкой "файл существует".

Может быть не связано.
Для меня ссылка была мертва. Указывая на несуществующую папку. При попытке заменить его с этим сообщением не получится. ^ Так просто rm linkName было достаточно.

Другие вопросы по тегам