はじめに

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

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

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

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

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

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

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

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

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

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

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


あなたの探し物は見つかりましたか?
まさにこれだ
参考になった
ちょっと違う
これじゃない

何かメッセージがあればお願いします

このメッセージを非公開にする

ご注意

・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。


まさにこれだ
5 (83%)
参考になった
1 (17%)

表示できるメッセージはありません。