Bir dizine sembolik bir link nasıl kaldırılır?


100

Aşağıdaki komutla sembolik bir bağlantı kurdum:

ln -s ../test5

Şimdi kaldırmak istiyorum ancak benim rm başarısız oluyor:

$ 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/

Sembolik bağlantımı nasıl kaldırabilirim? (Ubuntu 8.10, bash)


4
İPUCU: rm -r link/Hedefin içeriğini siler
Gayan Weerakutti 21:16

Yanıtlar:


121

Sondaki eğik çizgiyi kaldırın:

İstemi ile:

$ rm test5

İstemi olmadan:

$ rm -f test5


Diyor permission denied.
1.21 gigawatts

1
İz eğik çizgi olmadan. Yani test5/yanlış.
pylover

20

Deneyin rm test5
(eğitim eğrisi olmadan).

Eğik çizgi, 'test5'in bir dizin olduğunu gösterir, oysa aslında bir dizine bağlantı veren bir dosyadır .


14

Sondaki eğik çizgiyi kaldırarak koşabilirsiniz:

$ rm test5

Bu dosyayı kaldıracak (yani sembolik link).

Alternatif olarak, unlink kullanabilirsiniz:

$ unlink test5

Yine, dizin bağlantısını değil, sembolik bağlantıyı kaldırmaya çalıştığınız için sondaki eğik çizgiyi atlamalısınız.


0

Bazen silmek istediğiniz bağlantıyı adlandırmak için otomatik tamamlama özelliğini kullanırsanız izleyen bir eğik çizgi göremeyebilirsiniz, ancak buradaki 'yarısı var' ve bu eğik çizgi o bağlantıyı kaldırmaya çalışırken hala silme hatası veriyor.

Bu durumda, karakter karakter karakterini, örneğin "test5" olarak silinecek link yazın. rm test5.


1
Görünmez eğik çizgi hiç duymadım. Bunu hangi kabuk yapıyor?
Kamil Maciorowski

Sanırım linewrap + imleç tarafından gizlenen karaktere bir referans olabilir.
bertieb

0

OP'deki sorun takip ediyor /, bu yüzden test5/bir hata atıyor ama test5çalışıyor.

Ben kullanmayı tercih unlinkziyade rmniyetim nettir olarak ve yerine yanlışlıkla halkanın gerçek dizini kaldırma şansı yoktur. /Dizin adından sonra bir iz olmadığından emin olun , örneğin:

unlink test5

-1

Aptalca sorduğumu hissediyorum, ama denedin rm -rmi? Sembolik bir bağlantı olduğu için hedefi silmemelidir.

Düzenleme: Sadece denedim, doğru

Düzenleme 2: rmdir, man sayfasının ilk satırında boş dizinleri sildiğini söylüyor. Dizinin bitinin dosya özelliklerini kontrol ettirdiği bir link olduğu için rmdir, çünkü rmdir, hatalar verdiğinden şüphelenmiyor. Sadece rm -r kullanın


2
Bu, dizindeki dosyaları
silmemi

Sormak, interaktif olarak benim .profile dosyamda tanımlanmamdı. Yanıtı rm -r'ye eklendi. Hala çalışmıyor.
Peter Smit

Sonunda bıraktın '/' bu yüzden başarısız oldu
bobby
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.