Symbolische Links (Symlinks) verweisen auf andere Dateien oder Verzeichnisse. Zum Löschen verwendest du rm, unlink oder find.

Voraussetzungen

Du benötigst Schreibrechte für das Verzeichnis, das den Symlink enthält. Das Löschen eines Symlinks lässt die Zieldatei unberührt.

Prüfe mit ls -l, ob eine Datei ein Symlink ist:

ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 Apr 16 2018 /usr/bin/python -> python2.7

Das l am Anfang kennzeichnet einen symbolischen Link. Der Pfeil zeigt das Ziel.

Mit rm löschen

Der Befehl rm entfernt Symlinks wie normale Dateien:

rm symlink_name

Mehrere Symlinks auf einmal:

rm symlink1 symlink2

Mit Bestätigung vor dem Löschen:

rm -i symlink_name

Wichtig: Bei Symlinks auf Verzeichnisse keinen Schrägstrich anhängen:

rm symlink_zu_verzeichnis/
rm: kann 'symlink_zu_verzeichnis/' nicht entfernen: Ist ein Verzeichnis

Der Schrägstrich lässt rm annehmen, es handle sich um ein echtes Verzeichnis.

Vorsicht: Verwende niemals rm -r bei Symlinks auf Verzeichnisse. Das löscht den Inhalt des Zielverzeichnisses, nicht den Symlink.

Der Befehl unlink akzeptiert nur ein einzelnes Argument:

unlink symlink_name

Auch hier keinen Schrägstrich anhängen – unlink kann keine Verzeichnisse verarbeiten.

Wenn du die Zieldatei löschst oder verschiebst, bleibt ein defekter Symlink zurück. Mit find spürst du diese auf:

find /pfad/zum/verzeichnis -xtype l

Die Option -xtype l findet symbolische Links, deren Ziel nicht mehr existiert.

Nur im aktuellen Verzeichnis suchen (ohne Unterverzeichnisse):

find /pfad/zum/verzeichnis -maxdepth 1 -xtype l

Defekte Symlinks direkt löschen:

find /pfad/zum/verzeichnis -xtype l -delete

Zusammenfassung

MethodeBefehl
Einzelner Symlinkrm symlink oder unlink symlink
Mehrere Symlinksrm symlink1 symlink2
Mit Bestätigungrm -i symlink
Defekte Symlinks findenfind /pfad -xtype l
Defekte Symlinks löschenfind /pfad -xtype l -delete

Bei Symlinks auf Verzeichnisse niemals einen Schrägstrich am Ende verwenden.