ディレクトリへのシンボリックリンクを削除する

対象プラットフォーム: FreeBSD 7.x / FreeBSD 6.x

はじめに

FreeBSDの「unlink」を利用して、ディレクトリへのシンボリックリンクを削除しようとすると、エラーが発生する場合があります。

「unlink」が失敗するケース/成功するケース

「unlink」はシンボリックリンクを削除するコマンドですが、下記のようにディレクトリへのシンボリックリンクを指定するとエラーが発生します。
ちょっと実験してみましょう。

ディレクトリの作成とシンボリックリンクの作成
$ mkdir destination
$ ln -s destination source

上記の通り作成したディレクトリへのシンボリックリンクですが、「unlink」で下記の通り削除しようとすると、エラーが発生します。

ディレクトリへのシンボリックリンクの削除(うまくいかない例)
$ unlink source/

うまくいかない時のエラーメッセージ
$ unlink: source/: is a directory

このエラーメッセージは、「source/」がディレクトリであり、(シンボリックリンクでないから)削除できない旨を通知しています。
シンボリックリンクそのものは「source」になりますので、下記の通り再度実行してください。

ディレクトリへのシンボリックリンクの削除(うまくいく例)
$ unlink source

今度はうまくいくと思います。

尚、cshを利用していて、tabでディレクトリ名を補完すると、最後の「/」は自動的に付与されてしまいます。
ディレクトリへのシンボリックリンクを削除する際には、最後に「/」がつかないよう、注意してください。


あなたの探し物は見つかりましたか?
まさにこれだ 参考になった ちょっと違う これじゃない
何かコメントがあればお願いします


目次に戻る

image