【しんぼりっくりんく】

シンボリックリンク とは?

公開:
💡 本体を増やさず、行き先を示す「道しるべ」

別のファイルやディレクトリへのパスを保存し、その場所を参照する特殊なファイル。参照先の内容を複製するものではなく、参照先がなくなるとリンク切れになります。

📌 このページのポイント
相対パスはリンクの置き場所が基準 /work/current 中身:data.txt 参照先のパス /work/data.txt リンクを別の場所へ移動 /other/current 中身:data.txt 参照先のパス /other/data.txt 同じ中身でも、参照先のパスは変わる
Linuxの例。リンク自身にパスを保存する。参照先が存在しない場合はリンク切れになる。
ひよこ ひよこ
シンボリックリンクって、ファイルのコピーなの?
ペンギン先生 ペンギン先生
コピーではなく、行き先を書いた道しるべだよ。Linuxでは、リンクの中に別のファイルやディレクトリへのパスを保存するんだ。開く操作がリンクをたどると、その行き先を使うよ。
ひよこ ひよこ
行き先には、どんな書き方ができるの?
ペンギン先生 ペンギン先生
絶対パスでも相対パスでも書けるよ。たとえば /work/current というリンクに data.txt と保存すると、/work/data.txt を指すんだ。相対パスの基準はリンクの置き場所だよ。
ひよこ ひよこ
リンクを別のフォルダに移したらどうなるの?
ペンギン先生 ペンギン先生
同じ data.txt という内容でも、リンクを /other/current に移すと /other/data.txt を指すことになるよ。作業ディレクトリを基準にするわけではないから注意してね。
ひよこ ひよこ
行き先のファイルを消したら、リンクも消えるの?
ペンギン先生 ペンギン先生
リンク自身は残っていても、行き先がなくて開けないリンク切れになるんだ。ディレクトリや別のファイルシステムも参照できるけれど、権限やリンクの循環などで、たどれない場合もあるよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「シンボリックリンク」って出てきたら「別の場所への道順を保存したファイル」と思えればだいたいOK!
📖 おまけ:英語の意味
「Symbolic Link」 = パス名を介して対象を指すリンク
💬 対象の実体を直接共有するのでなく、名前で指し示すリンクという意味だよ

参考資料

← 用語集にもどる