シンボリックリンクの元ファイルを削除するとどうなるのか?
詳細動作を理解していなかったので確認してみました
シンボリックリンクの作成/削除手順含めて確認内容を記載します
##シンボリックリンクの作り方
テスト用の元ファイルを作成
$ echo "symbolic link test file." > /home/waterame/original.txt
シンボリックリンクを作成
$ ln -s "元ファイル" "シンボリックリンクファイル名"
$ ln -s /home/waterame/original.txt orilink
コマンドオプション
"-s" はシンボリックリンク作成を指定するオプションで、無い場合はハードリンクとなる
作成されたことを確認
$ ls -l
lrwxrwxrwx 1 waterame group 46 1月 19 14:04 orilink -> /home/waterame/original.txt
##シンボリックリンクの削除
$ unlink orilink
もしくは
$ rm orilink
元のファイルは、削除されません
##シンボリックリンクがある状態で、オリジナルのファイルを消した場合
$ rm /home/waterame/original.txt
シンボリックリンクは見えるが、リンク切れ状態となる
$ ls -l
lrwxrwxrwx 1 waterame group 46 1月 19 14:04 orilink -> /home/waterame/original.txt
$ cat original.txt
cat: original.txt: そのようなファイルやディレクトリはありません
##オリジナルファイルを削除したあと、同名のファイルを作成するとどうなるか
$ ln -s /home/waterame/original.txt orilink
$ ls -l
lrwxrwxrwx 1 waterame group 46 1月 19 14:04 orilink -> /home/waterame/original.txt
$ cat original.txt
symbolic link test file.
リンクが復活する!!
###まとめ
- シンボリックの元ファイルを消した後、同名のファイルを再度作成すればシンボリックリンクのリンクは復活する