¿Cómo puedo romper un bucle de enlace simbólico?


7

Mientras intentaba compilar una biblioteca de objetos compartidos en C, accidentalmente creé dos enlaces simbólicos que apuntan entre sí. ¿Hay alguna forma de deshacerse de ellos sin dañar todo el directorio? Leí que la única forma de romper un enlace simbólico es eliminar el archivo al que apunta, pero estoy seguro de que debe haber otra forma. Gracias por la ayuda.


4
Luego borra el archivo po ... oh dios. ¿Cómo conseguiste esto? :PAG
Phoshi

2
Es fácil de hacer, y aún más fácil de arreglar. Los enlaces simbólicos apuntan a un nombre de archivo, y el nombre de archivo de destino ni siquiera tiene que existir. Y rm elimina el enlace simbólico, no el archivo al que apunta.
Justin Smith

Respuestas:


14

No es un problema eliminar enlaces simbólicos. No estoy seguro de por qué cree que necesita eliminar el archivo al que apunta el enlace.

Sólo elimínalos. Prueba esto:

ln -s thing1 thing2   # thing1 does not exist
ln -s thing2 thing1   # circular reference
rm thing1 thing2      # no problem

5

No importa, puedo eliminar ambos enlaces simultáneamente con rm. ¿Por qué alguien dijo que tenía que borrar el archivo de destino ...


1
unlink es incluso mejor que rm para eliminar enlaces de forma segura.
ℝaphink

1
Podrías incluso haber eliminado uno de los enlaces y dejar el otro, si tuvieras alguna razón para hacerlo.
Justin Smith

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.