ディレクトリのシンボリックリンク張り替え

表題の通り。よく忘れて、削除・作成としてしまうのでメモしておく。

■ 環境

  • Linux

■ 張り替え

既に存在するシンボリックリンクの向き先を変更したい。

通常のシンボリックリンクの貼り方を実行するとエラーとなる。

$ ln -s /path/to/dir  /path/to/link
ln: creating symbolic link `/path/to/link': File exists
$

強制的に上書きすれば良いのか、とオプションを追加する。

$ ln -f -s /path/to/dir  /path/to/link

エラーが表示されず一見作成されたように見えるが、詳細を見ると元のままである。このオプションで成功するのはシンボリックリンクの先がファイルである場合のみであるようだ。

というわけで、シンボリックリンクの向き先がディレクトリである場合には下記のオプションが必要である。

$ ln -f -n -s /path/to/dir  /path/to/link

これでシンボリックリンクの張り替えが可能である。

以上。