Önceden oluşturulmuş bir sembolik bağ nasıl silinir veya değiştirilir?


53

Network simulator2 kullanarak projem üzerinde çalışıyorum. Yükledim ve her şey yolunda. Bu kurulum arasında sembolik bir bağlantı kurmaya çalıştım /usr/bin, böylece yazılımı nskomut satırından çalıştırarak çalıştırabilirim . Yani koştum:

sudo ln -s /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns

Aşağıdaki çıktıyı üretti:

ln: creating symbolic link '/usr/bin/ns': File exists


Önceden oluşturulmuş sembolik bağlantıyı nasıl silebilirim veya başka herhangi bir komutla değiştirebilir miyim?


Yapmaya çalışıyordum sudo ln -s destination sourceve tabii ki tıkanmıştı. Cevap için teşekkürler.
aviggiano

Yanıtlar:


35
sudo rm -r /usr/bin/ns

sudo ln -s /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns

1
eğer ns bir klasörse yukarıdakiler başarısız olur - bu durumda rm -rf (özyinelemeli kuvvet anahtarları) kullan - bu durumda ln için -sf anahtarlarını da kullanabilirsiniz.
finley

@finley Evet, haklısın. Incase ns bir klasördür, silinemez. Şimdi bana belirsiz, bir klasöre sembolik bir link oluşturabilir miyiz?
Vinay

1
evet, bir klasöre sembolik bir link oluşturabiliriz. Eğer bu bir klasörse, şunları yapabilirsiniz: sudo rm -r / usr / bin / ns
Pawełkowy

@Pawel Başarıyla klasöre bir sembolik bağlantı oluşturdum. Yukarıda söylediğin gibi çıkarabilirim. Ancak, terminalde fold [bir klasör için oluşturulan sembolik link] adını yazdığımda hata veriyor. Aslında bir klasöre sembolik link oluşturmak ve sadece link adını yazarak nautilus'ta bunu açmaktı. Bunun mümkün olup olmadığından emin değilim ..?
Vinay,

1
@Vinaychalluru bu klasörü açmak istiyorsanız, şunu yazmayı deneyin: cd fold - bir terminalde açılacaktır. Nautilus'ta açmak istiyorsanız, şunu yazın: nautilus fold
Pawełkowy

63

lnvar -folup olmadığına dair bir sembolik bağı 'zorlayan' bir anahtardır.

sudo ln -sf /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns

Bu kabul edilen cevap olmalı.
Rony Varghese

28

Denedim ln -sfdeğiştirilmesi ama benim için işe yaramadı, ama yaparken ln -sfn directory link_name olarak rootçalıştı.


-nBen olmadan sonsuz bir döngü problemi yaşıyordum. Teşekkürler!
Christopher Markieta,

3

Yukarıdaki tüm cevaplara eklemek için, sembolik bir link birçok durumda normal bir dosya olarak ele alınabilir (link değil, hedef).

rmsembolik bir bağlantı üzerinde kaldıracaktır. Bağlantı kök tarafından sahiplenilmişse, sudo yapmanız gerekir.

Sen gerekir rm /usr/bin/nsdoğrusu ya sudo rm /usr/bin/nssahipliğini unutma.

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.