
Ein Programm, das rekursiv einen Verzeichnisbaum durchläuft, muss herausfinden, was mit Symlinks (und/oder Verknüpfungspunkten unter Windows) zu tun ist, um eine Endlosschleife zu vermeiden, wenn ein Symlink auf ein übergeordnetes Verzeichnis verweist. Die beiden offensichtlichen Optionen sind:
Symlinks vollständig überspringen.
Befolgen Sie diese Anweisungen, behalten Sie jedoch alle besuchten Verzeichnisse im Auge und überspringen Sie die Schritte, wenn eine Endlosschleife droht.
Welches ist die häufigste/erwartete/bevorzugte Wahl?
Antwort1
Wenn Sie nur stöbern, folgen Sie.
Sie haben jedoch angegeben, dass Sie keine Endlosschleifen möchten ...
um eine Endlosschleife zu vermeiden, wenn ein symbolischer Link auf ein übergeordnetes Verzeichnis verweist
Wenn Sie rekursiv und mit der Breitensuche suchen, folgen Sie. Überspringen Sie den Schritt bei der Tiefensuche.
Wenn Sie die Dateigrößen zählen, überspringen Sie diesen Schritt.
Den Überblick zu behalten ist oft eine Optimierung, statt einer Implementierung. Natürlich ist es besser, wenn Sie es haben.