Was bedeutet der Fehler "Fehler beim Erstellen einer symbolischen Verknüpfung: Datei vorhanden"?

60

Ich versuche, in meinem Ausgangsverzeichnis einen Symlink zu Verzeichnissen und Dateien auf meiner Datenpartition zu erstellen. Ich habe es versucht:

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

um einen symlink namens sagain meinem verzeichnis Documentsin meinem homeordner zu erstellen . Die Terminalausgabe ist:

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

Ich habe den Inhalt von ~/Documentsmit ls -a überprüft , es gibt nichts außer .und ... Im Allgemeinen ist mein homeOrdner leer, es ist nur eine Neuinstallation des Systems.

Maria
quelle
Vielen Dank. Es scheint, dass meine Frage nicht sehr nützlich ist. Soll ich es löschen? Oder Sie konvertieren Ihren Kommentar in der Antwort, damit ich ihn als gelöst akzeptieren kann :)
Maria
3
Ihre Frage hat eine Punktzahl von vier, so offenbar die Gemeinde beschlossen , dass es ist nützlich. Selbst wenn Sie es versuchen, können Sie die Frage nicht löschen, da sie eine Antwort mit einer Punktzahl von 1 oder mehr enthält.
11684
Ich habe meine Antwort auf diese Frage von hier (in diesem Forum) erhalten: askubuntu.com/questions/379647/…
wayneeusa

Antworten:

46

Dies ist ein klassischer Fehler ... es ist umgekehrt:

ln -s Existing-file New-name 

so in deinem Fall

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

sollte arbeiten. Beachten Sie jedoch:

  1. Wenn ~/Documents/sagavorhanden und kein Verzeichnis ist, wird auch der Fehler angezeigt.

  2. Wenn ~/Documents/sagavorhanden und ein Verzeichnis ist, lautet der symbolische Link ~/Documents/saga/saga..doc(sind Sie sich über den doppelten Punkt sicher?)

  3. Wenn ~/Documents/sagaes keinen gibt, wird Ihr symbolischer Link sein ~/Documents/saga(so wie es ist, keine Erweiterung).

Rmano
quelle
12
Denken Sie immer daran, dass die Parameterreihenfolge wie incp
Hagen von Eitzen
... wie hier auf Super User besprochen .
G-Man
2
Mein Mnemon dafür ist "was wo", zB was wo verlinken, was wo verschieben ...
MicrosoftFree
1
Es gibt sogar cp -s.
DeltaB
18

Ich habe die gleiche Fehlermeldung
beim Umleiten

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

Von node.js v0.10.25
bis node.js v4.2.3 schaue
ich mir das an man ln und benutze es

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

Das ist Arbeit, wie ich erwartet hatte.

Alexander Glulkhovtsev
quelle
1
Ich verstehe deine Antwort / deinen Punkt nicht. Was ist das ganze Skript, das du benutzt hast? Ich denke, wir haben das gleiche Problem
theArc
1
Ich denke, was er vorschlägt, um --force zu Ihrem ln-Befehl hinzuzufügen
DropHit
Das wäre also ln -sf...
Pathros
16

Als @Rmano in seiner Antwort antwortete, waren die Argumente in der falschen Reihenfolge. Ich habe den gleichen Fehler auch ziemlich oft gemacht. So fand ich eine

Narrensichere Möglichkeit, symbolische Links zu erstellen

Gehen Sie zunächst in das Verzeichnis, in dem Sie den Link erstellen möchten

cd ~/Documents/saga

Erstellen Sie dann den Link mit einem einzelnen Argument .

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

Dadurch wird eine Verknüpfung zum aktuellen Verzeichnis mit demselben Namen wie das Ziel erstellt.

MadMike
quelle
0

Könnte nicht verwandt sein.
Für mich war der Link tot. Auf einen nicht vorhandenen Ordner verweisen. Wenn Sie versuchen, es zu ersetzen, schlägt dies mit dieser Meldung fehl. ^ Also ein einfaches rm linkNamewar genug.

AdrianH
quelle
0

Um neue Informationen hinzuzufügen, können Sie den aktuellen Symlink entfernen und anschließend den Symlink neu erstellen.

rm  ~/Documents/saga

Dann erstelle den Symlink neu:

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

Hoffe, dies hilft jedem, der noch mit dem Fehler "Datei vorhanden" konfrontiert ist.

Andre Suchitra
quelle