symbolic link

Alle Symlinks in einem Ordner entfernen

Wie entferne ich alle Symlinks in einem Ordner (Dutzende von ihnen)auf einmal? Es ist unpraktisch,jeden einzelnen von Hand einzufügen,wenn man unlink oder rm verwendet.


Sie können dazu den find -Befehl verwenden:

find /path/to/directory -maxdepth 1 -type l -delete

Prüfen Sie sicherheitshalber zunächst ohne die -delete -Option:

find /path/to/directory -maxdepth 1 -type l

-maxdepth 1 stellt sicher, dass find nur in /path/to/directory sucht, aber nicht in seinen Unterordnern nach symbolischen Links. Schauen Sie sich gerne mal bei man find um .




Listen Sie die Links im aktuellen Verzeichnis-Alias-Ordner auf und überprüfen Sie, ob Sie sie wirklich entfernen möchten.

find -type l -ls                  # Suche auch in Unterverzeichnissen

find -maxdepth 1 -type l -ls      # Nur im Verzeichnis selbst suchen

Wenn die Dinge gut aussehen und Sie diese Links löschen möchten , führen Sie sie aus

find -type l -delete              # auch in Unterverzeichnissen löschen

find -maxdepth 1 -type l -delete  # Nur im Verzeichnis selbst löschen

Wenn Sie interaktiv löschen möchten , können Sie die folgende Befehlszeile verwenden (dies ist sicherer)

find -type l -exec rm -i {} +              # auch in Unterverzeichnissen löschen

find -maxdepth 1 -type l -exec rm -i {} +  # Nur im Verzeichnis selbst löschen