Zahlungsmethoden Abuse

Entfernen von Links unter Linux

10.04.2022, 01:05

Ein Link in Linux ist eine spezielle Datei, die auf eine andere Datei oder ein anderes Verzeichnis verweist. Auf diese Weise kann eine Datei an mehreren Stellen gleichzeitig abgelegt werden. Wenn die Originaldatei gelöscht wird, bleibt der Link zu ihr erhalten. Dies kann zu Abstürzen führen und verstopft generell das System.

Wie man eine Verknüpfung löscht

Zunächst wollen wir Ihnen erklären, wie Sie überprüfen können, ob die Datei tatsächlich ein Link ist. Dies geschieht am einfachsten mit dem Dienstprogramm ls. Danach sehen wir uns drei Methoden zur Entfernung an, die jeweils ihre eigenen Besonderheiten haben.

Überprüfen, ob es sich um einen Link handelt

Mit Hilfe von ls können Sie sich bequem Informationen über die Datei anzeigen lassen. Um das Dienstprogramm zu verwenden, geben Sie ihm die Option -l und den Pfad an. Nehmen wir als Beispiel die Datei ~/symlinks/link_1:

$ ls -l ~/symlinks/link_1

Entfernen von Links unter Linux

Sie können einen ganzen Katalog auf Links überprüfen:

$ ls -l ~/symlin

Entfernen von Links unter Linux

Eine Datei, die nicht benötigt wird, ist mit einem charakteristischen Pfeil hinter ihrem Namen gekennzeichnet.

Rm verwenden

Mit dem Befehl rm kann man jede Datei im Linux-Dateisystem löschen, auch Links. Das heißt, er ist für unsere Aufgabe geeignet. Es ist wichtig, hier zu erwähnen, dass die ursprüngliche Datei oder das ursprüngliche Verzeichnis durch das Löschen des Links nicht beeinträchtigt wird.

Führen Sie den Befehl im Terminal aus:

$ rm ~/symlinks/link_1

Entfernen von Links unter Linux

Um detaillierte Informationen über den Vorgang zu erhalten, fügen Sie dem Befehl die Option -v hinzu:

$ rm -v ~/symlinks/link_1

Entfernen von Links unter Linux

Zusätzlich können Sie überprüfen, ob der Link aus dem Verzeichnis verschwunden ist. Verwenden Sie dazu den bereits beschriebenen Befehl ls.

Entfernen von Links unter Linux

Jetzt wissen Sie, wie Sie einen symbolischen Link unter Linux entfernen können.

UNLINK verwenden

Das Dienstprogramm unlink dient dazu, Dateien aus dem Linux-Dateisystem zu entfernen. Es muss nur den Pfad zu dem Link angeben:

$ unlink ~/symlinks/link_1

Entfernen von Links unter Linux

Im Rahmen der vorliegenden Aufgabe arbeiten rm und unlink fast identisch. Gehen wir nun zur letzten Methode über.

Find verwenden

Mit Hilfe des Befehls find können Sie Links in einem bestimmten Verzeichnis suchen und löschen. Das bedeutet, dass Sie nicht zusätzlich ls verwenden müssen.

Entfernen von Links unter Linux

Im Gegensatz zu den beiden vorangegangenen Optionen verfügt er über recht fortgeschrittene Funktionen, z. B. die Festlegung von Suchkriterien. Aber auch aus diesem Grund ist die Syntax nicht so einfach.

Um zu suchen, müssen Sie ein Verzeichnis und einige Parameter angeben:

$ find ~/symlinks/ -type l -print

Entfernen von Links unter Linux

Der Parameter -type l wird benötigt, um nur symbolische Links auszuwählen, -print, um den vollständigen Namen auszugeben. Und mit Hilfe von -maxdepth können Sie die Tiefe der Suche nach verschachtelten Verzeichnissen angeben. Wenn Sie 1 angeben, wird die Suche nur im Verzeichnis selbst durchgeführt, ohne Anhänge:

$ find ~/symlinks/ -maxdepth 1 -type l -print

Entfernen von Links unter Linux

Sobald sich viele Links in einem Verzeichnis befinden, können Sie ein Suchmuster für den Befehl find angeben. Nehmen wir als Beispiel eine Situation an, in der wir nur versteckte Links finden wollen, deren letztes Änderungsdatum nicht länger als 30 Tage zurückliegt:

$ find ~/data/ -type l -name ".*" -mtime -30 -print

Entfernen von Links unter Linux

Es wurden zwei Kriterien hinzugefügt:

  • -name - Suche nach Name.
  • -mtime - nach der Änderungszeit.

Alle gefundenen Links können nach dem angegebenen Muster gelöscht werden. Zu diesem Zweck wird -print durch -delete ersetzt:

$ find ~/data/ -type l -name ".*" -mtime -30 -delete

Entfernen von Links unter Linux

Am Ende der Anweisung geht es um das Suchen und Löschen von defekten Links, die ins Leere führen, zum Beispiel nach dem Löschen der ursprünglichen Datei oder des Verzeichnisses. Hierfür eignet sich der Parameter -xtype l. -print ist für die Ausgabe nicht erforderlich:

$ find ~/broken_links/ -xtype l

Entfernen von Links unter Linux

Als Ergebnis werden alle defekten Links im Terminal angezeigt. Um sie zu entfernen, fügen Sie -delete am Ende des Befehls hinzu:

$ find ~/broken_links/ -xtype l -delete

Entfernen von Links unter Linux

Damit ist die Anleitung zum Löschen eines Links in Linux abgeschlossen.