GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So entfernen (löschen) Sie symbolische Links in Linux

Ein symbolischer Link, auch Symlink genannt, ist ein spezieller Dateityp, der auf eine andere Datei oder ein anderes Verzeichnis verweist. Es ist so etwas wie eine Verknüpfung in Windows. Ein Symlink kann auf eine Datei oder ein Verzeichnis auf demselben oder einem anderen Dateisystem oder einer anderen Partition verweisen.

In dieser Anleitung zeigen wir Ihnen, wie Sie symbolische Links in Linux/UNIX-Systemen mit dem rm entfernen (löschen). , unlink , und find Befehle.

Bevor Sie beginnen #

Um einen Symlink zu entfernen, benötigen Sie Schreibrechte für das Verzeichnis, das den Symlink enthält. Andernfalls erhalten Sie die Fehlermeldung „Vorgang nicht zulässig“.

Wenn Sie einen Symlink entfernen, ist die Datei, auf die er verweist, nicht betroffen.

Verwenden Sie ls -l Befehl, um zu überprüfen, ob eine bestimmte Datei ein symbolischer Link ist, und um die Datei oder das Verzeichnis zu finden, auf das der symbolische Link zeigt.

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

Das erste Zeichen „l“ zeigt an, dass es sich bei der Datei um einen Symlink handelt. Das Symbol „->“ zeigt die Datei an, auf die der Symlink zeigt.

Der rm Befehl entfernt bestimmte Dateien und Verzeichnisse.

Um einen Symlink zu löschen, rufen Sie rm auf Befehl gefolgt vom Namen des symbolischen Links als Argument:

rm symlink_name

Bei Erfolg wird der Befehl mit Null beendet und zeigt keine Ausgabe an.

Mit rm Sie können mehrere symbolische Links gleichzeitig löschen. Übergeben Sie dazu die Namen der symbolischen Links als Argumente, getrennt durch Leerzeichen:

rm symlink1 symlink2

Um vor dem Entfernen des Symlinks aufgefordert zu werden, verwenden Sie -i Möglichkeit:

rm -i symlink_name

Geben Sie zur Bestätigung y ein und drücken Sie Enter .

rm: remove symbolic link 'symlink_name'? 

Wenn der symbolische Link auf ein Verzeichnis zeigt, hängen Sie / nicht an abschließender Schrägstrich am Ende. Andernfalls erhalten Sie einen Fehler:

rm symlink_to_dir/
rm: cannot remove 'symlink_to_dir/': Is a directory

Wenn der Name des Arguments mit / endet , der rm Der Befehl geht davon aus, dass die Datei ein Verzeichnis ist. Der Fehler tritt auf, weil bei Verwendung ohne -d oder -r Option rm Verzeichnisse können nicht gelöscht werden.

Sicherheitshalber niemals -r Option beim Entfernen symbolischer Links mit rm . Wenn Sie beispielsweise Folgendes eingeben:

rm -f symlink_to_dir/

Der Inhalt des Zielverzeichnisses wird gelöscht.

Das unlink Befehl löscht eine bestimmte Datei. Im Gegensatz zu rm , unlink akzeptiert nur ein einziges Argument.

Um einen symbolischen Link zu löschen, führen Sie unlink aus Befehl gefolgt vom Symlink-Namen als Argument:

unlink symlink_name

Wenn der Befehl erfolgreich ausgeführt wird, zeigt er keine Ausgabe an.

Hängen Sie / nicht an abschließender Schrägstrich am Ende des Symlink-Namens, weil unlink Verzeichnisse können nicht entfernt werden.

Wenn Sie die Quelldatei löschen oder an einen anderen Speicherort verschieben, bleibt die symbolische Datei hängen (defekt).

Führen Sie den folgenden Befehl aus, um alle defekten symbolischen Links in einem bestimmten Verzeichnis zu finden:

find /path/to/directory -xtype l
/path/to/directory/symlink1
/path/to/directory/subdir/symlink2

Der Befehl listet alle defekten Links unter dem Verzeichnis und seinen Unterverzeichnissen auf.

Wenn Sie die in den Unterverzeichnissen enthaltenen Symlinks ausschließen möchten, übergeben Sie -maxdepth 1 Option zum find :

find /path/to/directory -maxdepth 1 -xtype l
/path/to/directory/symlink1

Sobald Sie die defekten Symlinks gefunden haben, können Sie sie entweder manuell mit rm entfernen oder unlink oder verwenden Sie das -delete Option des find Befehl:

find /path/to/directory -xtype l -delete

Schlussfolgerung #

Um einen symbolischen Link zu entfernen, verwenden Sie entweder den rm oder unlink Befehl gefolgt vom Namen des Symlinks als Argument. Wenn Sie einen symbolischen Link entfernen, der auf ein Verzeichnis verweist, hängen Sie keinen abschließenden Schrägstrich an den Namen des symbolischen Links an.

Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.


Linux
  1. So aktualisieren Sie einen Linux-Symlink

  2. So entfernen (löschen) Sie eine Datei oder ein Verzeichnis in Linux

  3. So löschen Sie eine Zeile in Vim unter Linux

  4. So erstellen Sie harte und symbolische Links in Linux

  5. Wie kopiere ich symbolische Links?

So entfernen oder löschen Sie PPA in Ubuntu Linux

So entfernen Sie symbolische Links unter Linux

So erstellen Sie symbolische Links unter Linux

So entfernen/löschen Sie Dateien in Linux mit dem Befehl rm

Was sind symbolische Links in Linux? Wie erstellt man symbolische Links?

So erhalten Sie eine Liste symbolischer Links unter Linux