相対シンボリックリンクを作成すると、そのシンボリックリンクで./
始まるソースパスはそのまま残り、英数字で始まるソースパスは同じ意味を持っていてもそのまま残ります。私が考えることができるすべてのケースでは、両方のタイプの動作は同じですが、開発者がこのように不要に見える冗長性を追加することを選択した理由があります。おそらく、ある人が他の人とは異なって行動するいくつかの極端なケースがあるでしょう。
答え1
シンボリックリンクの生成ターゲットを文字列として保存します。、リンク解決をまったく試みません。これにはいくつかの理由があります。 1つは、後で存在する可能性のあるファイルを指すシンボリックリンクを作成できることです(後で作成されるか後で表示されるため)。例えば新しくマウントされたファイルシステムを介して)。もう1つは、ファイルではなくデータを参照するためにシンボリックリンクを使用できることです(Linuxでは、以下のリンクを参照してください。/proc/*/fd
パイプ、ソケット、削除されたファイルを指すことがわかります)。など。)。
シンボリックリンクの宛先は明示的に文字列として指定され、そのまま保存されます。プログラムがシンボリックリンクを開こうとした場合にのみ解釈されます(ファイルを開くのと同じように)。