Rimuovi il link simbolico

0

Nel terminale, ho creato un link simbolico come segue:

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

Il simbolo collega prod directory (che è 4 livelli in alto dalla posizione corrente) a jni/prod .

Vorrei sottolineare che il simbolo collega una directory NON un file .

Ora, voglio rimuovere questo link simbolico, come farlo?

    
posta Leem.fin 06.11.2013 - 15:43
fonte

2 risposte

2

Se ti trovi confuso su dove un file esiste realmente, vai alla directory che ti aspetti e usa rm -i e astieniti dall'aggiungere qualsiasi percorso - cancella il file nella directory corrente. Inoltre, in unix, tutto è un file, inclusa una directory. Hai il vantaggio che il tentativo di eliminare un file simile a una directory verrà interrotto a meno che non si stia eliminando in modo ricorsivo i file.

Nel peggiore dei casi, potresti usare ls -lai per ispezionare i numeri di inode per assicurarti che un file sia realmente linkato simbolicamente e non collegato in modo difficile.

Se ciò 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 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.

    
risposta data 06.11.2013 - 16:19
fonte
0

Un link simbolico è un file anche se il link è in una directory. Quindi, se hai semplicemente fatto un rm che eliminerà il link:

rm jni/prod
    
risposta data 06.11.2013 - 16:34
fonte

Leggi altre domande sui tag