Che cos'è un errore "impossibile creare un collegamento simbolico: il file esiste"?


60

Sto cercando di creare un collegamento simbolico nella mia home directory a directory e file sulla mia partizione dati. Ho provato:

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

per creare un collegamento simbolico chiamato saganella mia Documentsdirectory nella mia homecartella. L'uscita del terminale è:

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

Stavo controllando il contenuto di ~/Documentscon ls -a, non c'è altro che .e ... In generale la mia homecartella è vuota, è solo una nuova installazione di sistema.


Grazie. Sembra che la mia domanda non sia molto utile. Devo cancellarlo? Oppure converti il ​​tuo commento nella risposta in modo che io possa accettarlo come risolto :)
maria,

3
La tua domanda ha un punteggio di quattro, quindi apparentemente la community ha deciso che è utile. Inoltre, anche se ci provassi non saresti in grado di eliminare la domanda, poiché ha una risposta con un punteggio di 1 o più.
11684

Ho ricevuto la mia risposta a questa domanda da qui (su questo forum): askubuntu.com/questions/379647/…
wayneeusa

Risposte:


46

Questo è un errore classico ... è il contrario:

ln -s Existing-file New-name 

così nel tuo caso

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

dovrebbe funzionare. Nota però:

  1. se ~/Documents/sagaesiste e non è una directory, verrà visualizzato anche l'errore;

  2. se ~/Documents/sagaesiste ed è una directory, il collegamento simbolico sarà ~/Documents/saga/saga..doc(sei sicuro del doppio punto?)

  3. se ~/Documents/saganon esiste, il tuo collegamento simbolico sarà ~/Documents/saga(così com'è, nessuna estensione).


12
Ricorda sempre che l'ordine dei parametri è come incp
Hagen von Eitzen,

... come discusso qui su Super User.
G-Man dice "Ripristina Monica" il

2
Il mio mnemonico per questo è "cosa dove", ad esempio, collega cosa dove, sposta cosa dove ...
MicrosoftFree

1
C'è anche cp -s.
deltab,

18

Ho lo stesso messaggio di errore
durante il reindirizzamento

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

da node.js v0.10.25
a node.js v4.2.3,
quindi guardo man ln e uso

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

Questo è il lavoro come mi aspettavo.


1
in realtà non capisco la tua risposta / punto, qual è l'intero script che hai usato? Penso che abbiamo lo stesso problema
Arco il

1
Penso che cosa sta suggerendo di aggiungere --force al tuo comando ln -sv ~ / Documents / saga /media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc --force
DropHit

Quindi sarebbe ln -sf...
Pathros,

16

Quando @Rmano ha risposto nella sua risposta, gli argomenti erano nell'ordine sbagliato. Ho fatto lo stesso errore abbastanza spesso. Così ho trovato a

Modo semplice per creare collegamenti simbolici

Prima vai nella directory in cui desideri creare il link

cd ~/Documents/saga

Quindi creare il collegamento con un singolo argomento .

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

Ciò creerà un collegamento alla directory corrente con lo stesso nome della destinazione.


0

Potrebbe non essere correlato.
Per me il collegamento era morto. Indicando una cartella inesistente. Quando si tenta di sostituirlo, fallirebbe con questo messaggio. ^ Quindi un semplice rm linkNameera abbastanza.


0

Solo per aggiungere nuove informazioni, è possibile rimuovere il collegamento simbolico corrente, quindi ricreare il collegamento simbolico.

rm  ~/Documents/saga

Quindi ricreare il collegamento simbolico:

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

Spero che questo aiuti chiunque abbia ancora l'errore "file esiste".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.