Linux busca y elimina todos los enlaces simbólicos relacionados con un directorio

Linux busca y elimina todos los enlaces simbólicos relacionados con un directorio

Entonces, tengo una situación en la que creé muchos enlaces simbólicos en un intento de hacerlos funcionar, probando todo tipo de combinaciones... ahora tengo este error:

ls: cannot access /etc/sv/me: Too many levels of symbolic links

No hay enlaces simbólicos en /service/ o /etc/sv/.
La única forma que puedo encontrar para resolver este error es eliminar todos los enlaces simbólicos relacionados con /service/ o /etc/sv/ pero ni siquiera veo el enlaces simbólicos?

Respuesta1

Puedes identificar enlaces simbólicos cíclicos con un poco de findtruco, prueba esto:

find /path/to/search -type l -a ! \( -xtype b -o -xtype c -o -xtype d -o -xtype p -o -xtype f -o -xtype s -o -xtype l \) 2>/dev/null

Esto funciona filtrando enlaces simbólicos y luego excluyendo cualquier cosa cuyo tipo de destino del enlace simbólico sea cualquiera de los posibles tipos de inodo. Lo único que queda son aquellos en los que findno se puede determinar el tipo de objetivo, lo que sólo ocurre con los enlaces simbólicos cíclicos (los rotos coinciden -xtype l).

Respuesta2

Los enlaces simbólicos no exhiben "acción a distancia": ser el objetivo de un enlace simbólico nunca afecta al objetivo directamente.

El error que estás viendo indica que /etc, o /etc/sv, o /etc/sv/mees un enlace simbólico. Averigua cuál es y arréglalo.

Respuesta3

Intente usar minúsculas -l(guión) en lugar de mayúsculas -Lcuando haga ls.

información relacionada