In einem früheren Artikel habe ich erklärt, was ein symbolischer Link in Linux ist. Symbolische Links oder Symlinks oder Softlinks werden zum Erstellen von Verknüpfungen zu anderen Dateien in Linux verwendet. Symbolische Links werden häufig beim Linken von Bibliotheken unter Linux verwendet.
Wenn die Originaldatei, auf die der Link verweist, gelöscht wird, wird der Link zu einem freien Link. Es ist möglicherweise keine gute Idee, solche Links beizubehalten.
Nun stellt sich die Frage, wie findet man unter Linux die defekten symbolischen Links? Einige Distributionen zeigen defekte Links in unterschiedlichen Farben, aber das ist keine Möglichkeit, alle defekten Links zu finden.
Unterbrochene Symlinks in Linux finden

In diesem Tutorial zeige ich Ihnen ein paar Möglichkeiten, wie Sie in Linux baumelnde Links finden können.
Methode 1. Verwenden Sie den find-Befehl, um alle defekten symbolischen Links aufzulisten
Der erstaunliche Find-Befehl kann auch zum Auffinden defekter Softlinks verwendet werden. Die neueren Versionen dieses Befehls bieten eine spezielle Option für diese Aufgabe.
Um alle freien Links im aktuellen Verzeichnis und seinen Unterverzeichnissen zu finden, können Sie den find-Befehl wie folgt verwenden:
find . -xtype l
Die Ausgabe listet alle defekten Links auf:
find . -xtype l
./target_link2
./newdir/new_dir/link_dir
Methode 2:Verwenden Sie den Symlinks-Befehl, um defekte Symlinks zu finden
Sie können auch einen dedizierten Befehl namens symlinks to verwenden, um mit hängenden Links umzugehen.
Möglicherweise müssen Sie den Befehl Symlinks installieren. Es ist in Debian verfügbar. Wenn Sie Ubuntu verwenden, müssen Sie das Universe-Repository aktivieren.
sudo apt install symlinks
Nach der Installation können Sie es wie folgt verwenden:
symlinks [options] path_to_directory
Wenn Sie also die defekten Links im aktuellen Verzeichnis finden müssen, können Sie es wie folgt verwenden:
symlinks .
dangling: /home/abhishek/tutorials/target_link2 -> newdir/test_dir/myzip
Ist Ihnen etwas aufgefallen? Es listet nur einen defekten Link auf, während der Befehl find zwei defekte Links hatte. Denn wenn Sie rekursiv suchen möchten, müssen Sie die Option angeben:
symlinks -r directory
Das ist es nicht. Sie können auch alle defekten Links mit der Option -d des Symlinks-Befehls löschen.
symlinks -d .
dangling: /home/abhishek/tutorials/target_link2 -> newdir/test_dir/myzip
deleted: /home/abhishek/tutorials/target_link2 -> newdir/test_dir/myzip
Tatsächlich können Symlinks verwendet werden, um Softlinks in Ihrem System richtig zu verwalten. Es kann Sie vor Links zwischen Dateisystemen warnen, unordentliche Links in relative ändern oder lange Links kürzen.
Unter Linux kann es mehrere Möglichkeiten geben, eine Aufgabe zu erledigen. Das Auffinden defekter Symlinks ist dasselbe. Ich habe Ihnen zwei Wege gezeigt, aber es gibt sicherlich noch andere Wege. Wenn Sie einen anderen bevorzugten Befehl zum Verwalten von losen Links haben, teilen Sie ihn uns im Kommentarbereich mit.
In einem verwandten Thema möchten Sie vielleicht etwas über das Konzept von Hardlinks in Linux lesen.