
Un programa que recorre recursivamente un árbol de directorios necesita descubrir qué hacer con los enlaces simbólicos (y/o puntos de unión en Windows), para evitar entrar en un bucle infinito cuando un enlace simbólico apunta a un directorio principal. Las dos opciones obvias son:
Omita los enlaces simbólicos por completo.
Continúe y sígalos, pero realice un seguimiento de todos los directorios visitados y omita cada vez que esté a punto de llegar a un bucle infinito.
¿Cuál es la opción más común/esperada/preferida?
Respuesta1
Si solo estás navegando, síguenos.
Pero especificaste que no quieres bucles infinitos...
para evitar entrar en un bucle infinito cuando un enlace simbólico apunta a un directorio principal
Si está buscando recursivamente en modo Breadth-First, siga. En profundidad primero, omita.
Si está contando el tamaño de los archivos, omita.
Hacer un seguimiento es a menudo una optimización, en lugar de una implementación. Por supuesto, será mejor que lo tengas.