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


53

ネットワークシミュレーター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


作成済みのシンボリックリンクを削除するにはどうすればよいですか、他のコマンドに置き換えることができますか?


私はやろうとしていたがsudo ln -s destination source、もちろんそれはバグだった。答えてくれてありがとう。
アヴィジャーノ

回答:


35
sudo rm -r /usr/bin/ns

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

1
nsがフォルダーの場合、上記は失敗します-この場合、rm -rf(再帰的な強制スイッチ)を使用します-この場合、lnに-sfスイッチを使用することもできます。
フィンリー

@finleyはい、あなたは正しいです。包みNSはフォルダである、それはdeletdすることはできません。フォルダーへのシンボリックリンクを作成できますか?
ヴィナイ

1
はい、フォルダへのシンボリックリンクを作成できます。sudoのRM -rは/ usr / binに/ NS:それはフォルダの場合は、行うことができます
Pawełkowy

@Pawelフォルダーへのシンボリックリンクを作成しました。上記のように削除することもできます。しかし、ターミナルでfold [フォルダのシンボリックリンクを作成]名を入力すると、エラーが発生します。私が実際に考えたのは、フォルダへのシンボリックリンクを作成し、リンク名のターミナルを入力するだけで、それをnautilusで開くことでした。可能かどうかわかりません。
ヴィナイ

1
@Vinaychalluruフォルダーを開きたい場合は、次のように入力してください:cd fold-ターミナルで開きます。オウムガイ倍:あなたはオウムガイ、種類で開きたい場合は
Pawełkowy

63

ln持っている-f、それが存在するかどうかを「軍のシンボリックリンクを作成することをスイッチを。

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

これは受け入れられた答えでなければなりません。
ロニーバルゲーゼ

28

私が試したln -sf交換しながら、それは私のために動作しませんでしたが、やっln -sfn directory link_nameroot働いていました。


なければ-n、私は無限ループの問題を得ていました。ありがとう!
クリストファーマルキエタ

3

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

rmシンボリックリンクで削除します。リンクがルートによって所有されている場合は、sudoを実行する必要があります。

あなたのことができるようになりrm /usr/bin/ns、むしろまたはsudo rm /usr/bin/ns所有権を忘れないでください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.