Verknüpfung aufheben (Entfernen) Verzeichnis Symlink

813
alex

Ich tat:

ln -s /DATA/ ./base_DATA/ 

und ich möchte die Verknüpfung aufheben. Einfach:

unlink ./base_DATA 

aber... unlink: cannot unlink './base_DATA': Is a directory

Gemäß dieser Antwort (und vieler anderer Online-Fragen) liegt das Problem normalerweise im Leerzeichen des Befehls unlink. Aber ich bekomme diesen Fehler trotzdem.

Irgendwelche Ideen, wie man das angehen kann?

1
"unlink" ist nicht das Gegenteil von "ls -s". Es ist im Grunde das Gleiche wie `rm` (in diesem Fall hat 'rm` mehr Kräfte.). ctrl-alt-delor vor 6 Jahren 0
Wenn Sie gnu `ln` verwenden, sollten Sie die Option` -t` und `-T` verwenden. Sie sollen die Argumente für "cp", "mv" und "ln" eindeutig machen. ctrl-alt-delor vor 6 Jahren 0
@ ctrl-alt-delor löscht `rm -r` nicht den Inhalt eines verknüpften Verzeichnisses? alex vor 6 Jahren 0
`rm -r` entfernt ein Verzeichnis und alles darin. Es wird auch eine einzelne Datei (einschließlich eines Symlinks) entfernt. `rm` kann auch eine Liste von Dateinamen aufnehmen. `unlink` schließt einen Dateinamen aus und entfernt nur einzelne Dateien. Hinweis: Beim Löschen werden Verzeichniseinträge gelöscht bzw. deren Verknüpfung aufgehoben. Wenn eine Datei keine Referenzen hat (kein Eintrag in einem Verzeichnis, keine geöffneten Dateien), wird sie gelöscht. ctrl-alt-delor vor 6 Jahren 0

2 Antworten auf die Frage

2
Kamil Maciorowski

./base_DATA/ist ein normales Verzeichnis, das zuvor existiert hat. Ihr lnBefehl erstellt einen Symlink innerhalb es. Der Symlink ist ./base_DATA/DATA. Sie können die Verknüpfung aufheben:

unlink ./base_DATA/DATA 
Ich sehe, das macht Sinn. Und funktioniert offensichtlich. Vielen Dank alex vor 6 Jahren 0
-1
WRJ

auf Red Hat, als Sie Verzeichnis A hatten und getan haben

In -s AB

erfolgreich, und jetzt möchte ich die Verknüpfung mit B aufheben:

mv A AA

rm B

mv AA A

und Sie kehren zu Ihrem ursprünglichen Verzeichnisnamen A ohne den Softlink zurück.