Eliminar enlace de símbolo

0

En la terminal, he creado un enlace de símbolo como el siguiente:

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

El símbolo vincula el directorio prod (que está 4 niveles por encima de la ubicación actual) a jni/prod .

Me gustaría enfatizar que el símbolo vincula un directorio NO un archivo .

Ahora, quiero eliminar este enlace simbólico, ¿cómo hacerlo?

    
pregunta Leem.fin 06.11.2013 - 15:43

2 respuestas

2

Si se encuentra confundido acerca de dónde existe realmente un archivo, vaya al directorio que espera y utilice rm -i y evite agregar cualquier ruta; elimine el archivo en el directorio actual. Además, en Unix, todo es un archivo, incluido un directorio. Tiene la posibilidad de guardar que intentar eliminar un archivo que parece un directorio se pausará a menos que esté eliminando archivos de forma recursiva.

En el peor de los casos, podría usar ls -lai para inspeccionar los números de inodo para asegurarse de que el archivo esté realmente vinculado en un enlace simbólico y no esté enlazado en forma dura.

Si eso no ayuda, crea un directorio temporal y juega con los enlaces:

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

En este punto, tiene la barra de archivo del enlace fijo a la izquierda y un enlace simbólico al archivo "foo" que falta. Como en su caso, el enlace está en un directorio diferente al del destino, no debería tener muchos problemas para eliminar el elemento que desea.

    
respondido por el bmike 06.11.2013 - 16:19
0

Un enlace simbólico es un archivo, incluso si el enlace es a un directorio. Entonces, si simplemente hiciste un rm que eliminará el enlace:

rm jni/prod
    
respondido por el JakeGould 06.11.2013 - 16:34

Lea otras preguntas en las etiquetas