Wie entferne ich einen symbolischen Link zu einem Verzeichnis?

185879
Peter Smit

Ich habe eine symbolische Verbindung mit dem folgenden Befehl hergestellt:

ln -s ../test5 

Ich möchte es jetzt entfernen, aber mein RM schlägt fehl:

$ rm -Rf test5/ rm: cannot remove `test5/': Not a directory $ rm test5/ rm: cannot remove directory `test5/': Is a directory $ rmdir test5/ rmdir: test5/: Not a directory $rm -r test5/ rm: cannot remove `test5/': Not a directory  $ls -l 0 lrwxrwxrwx 1 peter peter 8 Jul 20 15:30 test5 -> ../test5/ 

Wie kann ich meinen symbolischen Link entfernen? (Ubuntu 8.10, bash)

91
TIPP: `rm -r link /` löscht den Inhalt des Ziels Gayan Weerakutti vor 7 Jahren 2

5 Antworten auf die Frage

116
Swanand

Entfernen Sie den folgenden Schrägstrich:

Mit Aufforderung:

$ rm test5

Ohne Aufforderung:

$ rm -f test5

Es sagt "Erlaubnis verweigert". 1.21 gigawatts vor 8 Jahren 0
Ohne nachlaufenden Schrägstrich. `Test5 /` ist also falsch. pylover vor 7 Jahren 0
18
pelms

Versuchen Sie es rm test5
(ohne den Trainingsschrägstrich).

Der Schrägstrich zeigt an, dass 'test5' ein Verzeichnis ist, während es sich tatsächlich um eine Datei handelt, die mit einem Verzeichnis verknüpft ist .

12
Callum

Sie können den abschließenden Schrägstrich entfernen:

$ rm test5 

Dadurch wird die Datei (dh der Symlink) entfernt.

Alternativ können Sie unlink verwenden:

$ unlink test5 

Sie müssen den nachstehenden Schrägstrich wieder auslassen, da Sie versuchen, die Verknüpfung mit dem Symlink und nicht mit dem Verzeichnis zu lösen.

0
user872812

Wenn Sie Autocomplete verwenden, um den Link zu benennen, den Sie löschen möchten, sehen Sie möglicherweise keinen abschließenden Schrägstrich, aber es ist "die Hälfte" und dieser unsichtbare Schrägstrich gibt immer noch den Löschfehler an, wenn Sie versuchen, den Link zu entfernen.

Geben Sie in diesem Fall zeichenweise den zu löschenden Link als "test5" als z. rm test5.

Noch nie etwas von unsichtbarem Schrägstrich gehört. Welche Schale macht das? Kamil Maciorowski vor 6 Jahren 1
Ich denke, es ist möglicherweise ein Hinweis darauf, dass das Zeichen durch Zeilenumbruch + Cursor verborgen wird. bertieb vor 6 Jahren 0
-2
bobby

Ich frage mich dumm, aber hast du es versucht rm -r? Da es sich um einen symbolischen Link handelt, sollte das Ziel nicht gelöscht werden.

Edit: Einfach mal probiert, es ist richtig

Edit 2: rmdir sagt in der ersten Zeile der Manpage, dass es leere Verzeichnisse löscht. Ich würde denken, weil es ein Link ist, der das Verzeichnisbit auf seine Dateieigenschaften geprüft hat, aber weil rmdir nicht vermutet, dass es der Fall ist, dass es Fehler ausspuckt. Verwenden Sie einfach rm -r

Dies fordert mich auf, die Dateien im Verzeichnis zu löschen. Das ist nicht das, was ich will, ich möchte nur den Link löschen Peter Smit vor 14 Jahren 2
Die Frage war, weil interaktiv in meinem .profile definiert wurde. Antwort zu rm -r hinzugefügt. Es funktioniert immer noch nicht. Peter Smit vor 14 Jahren 0
Sie haben das nachfolgende '/' verlassen, deshalb ist es fehlgeschlagen bobby vor 14 Jahren 0