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.