Rimuovi il link simbolico


0

Nel terminale, ho fatto un collegamento simbolico come seguendo:

ln -s ../../../../ jni/prod

Sono collegamenti simbolici prod elenco (che è a 4 livelli dalla posizione corrente) a jni/prod .

Vorrei sottolineare che i collegamenti simbolici a elenco NON a file .

Ora, voglio rimuovere questo link simbolico, come farlo?


1
Che cosa hai già provato?
— nohillside

E ancora più importante, se non descrivi ciò che "non ottieni", le persone devono indovinare. Spero che la mia ipotesi su ciò che non si ottiene sui collegamenti simbolici sia corretta.
— bmike

Risposte:


2

Se ti trovi confuso su dove un file esiste realmente, vai alla directory che ti aspetti e usi rm -i e astenersi dall'aggiungere qualsiasi percorso: eliminare il file nella directory corrente. Inoltre, in unix, tutto è un file, inclusa una directory. È possibile risparmiare se si tenta di eliminare un file simile a una directory, a meno che non si stia eliminando in modo ricorsivo i file.

Nel peggiore dei casi, potresti usare ls -lai per controllare i numeri di inode per essere sicuri che un file sia veramente linkato simbolicamente e non sia strettamente collegato.

Se questo non aiuta, crea una directory temporanea e gioca con i link:

touch foo
ln foo bar       # hard link
ln -s foo baz    # sym link
ls -lai
rm foo
ls -lai

A questo punto, hai la barra dei file del collegamento duro a sinistra e un collegamento simbolico al file "pippo" mancante. Dal momento che nel tuo caso il link si trova in una directory diversa dall'obiettivo, non dovresti avere troppi problemi nell'eliminare l'elemento che desideri.


0

Un collegamento simbolico è un file anche se il collegamento è in una directory. Quindi se hai semplicemente fatto un rm che si sbarazzerà del link:

rm jni/prod
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.