web-dev-qa-db-ja.com

作成済みのシンボリックリンクを削除または置換する方法

ネットワークシミュレーター2を使用してプロジェクトに取り組んでいます。私はそれをインストールし、すべてが大丈夫です。このインストールと/usr/binの間にシンボリックリンクを作成しようとしたため、コマンドラインからnsを実行してソフトウェアを呼び出すことができました。すなわち、私は走った:

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

次の出力が生成されました。

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


作成済みのシンボリックリンクを削除する方法や、他のコマンドに置き換える方法はありますか?

52
Vinay
Sudo rm -r /usr/bin/ns

Sudo ln -s /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns
35
Pawełkowy

lnには-fスイッチがあり、存在するかどうかにかかわらずシンボリックリンクを強制的に作成します。

Sudo ln -sf /home/vinaychalluru/ns-allinone-2.34/ns-2.34/ns /usr/bin/ns
62
finley

交換中にln -sfを試しましたが、うまくいきませんでしたが、rootとしてln -sfn directory link_nameが機能しました。

28
user712092

上記のすべての回答に追加するために、多くの場合、シンボリックリンクを通常のファイル(ターゲットではなくリンク)として扱うことができます。

シンボリックリンク上のrmは、それを削除します。リンクがルートによって所有されている場合は、Sudoが必要です。

rm /usr/bin/nsまたはSudo rm /usr/bin/ns所有権を忘れないでください。

3
Dmitriy Likhten