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

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

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

~/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папка пуста, это просто новая установка системы.

решение1

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

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(как есть, без расширения).

решение2

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

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

с node.js v0.10.25
до node.js v4.2.3,
поэтому я смотрю man ln и использую

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

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

решение3

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

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

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

cd ~/Documents/saga

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

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

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

решение4

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

Связанный контент