Gelegentlich steht man vor dem Problem durch manuelle oder automatisierte File-Löschungen ungültige Symlinks am Linuxsystem zu haben. Diese händisch zu finden und dann einzeln zu löschen ist zeitaufwendig - und unnötig: via Einzeiler und dem find-Tool lassen sich diese bequem löschen.

Hier die einzelnen Befehlsvarianten zum copy/paste…

Aus dem aktuellen Verzeichnis…

find -maxdepth 1 -type l -xtype l -delete

Aus allen Verzeichnissen unterhalb des aktuellen…

find -type l -xtype l -delete

Aus allen Verzeichnissen am ganzen System…

find / -type l -xtype l -delete

Sicherheitshalber - anstelle von Löschen nur Ausgeben…

find -maxdepth 1 -type l -xtype l -printf "%p -X-> %ln"
find -type l -xtype l -printf "%p -X-> %ln"
find / -type l -xtype l -printf "%p -X-> %ln"

Hinweis: dieser Artikel ist ursprünglich auf dem IT-Blog “copy/paste” (www.copypaste.at) erschienen.