hard link
同じファイルに対する2つ以上のpathを作成する
ディスク上の物理的なデータに対して2つ以上の参照が存在する
例えば、バックアップとスナップショットのために使う
歴史が、A,B,Cとあった時に、
AとBの内容が全く同じである場合、BはAのハードリンクとして作る
そうすることで、ディスクの容量を無駄に食わない
ここで、仮にAが削除されても、Bには影響しない
フォルダに対しては作れない
同一のファイルにポインタを指して、別名のファイルを作る
A
というファイル実体に向けて、 C
と B
からポインタを貼ることで、
A
に、 C
や B
という名前をつけたことになる
欠点としては、上のファイルの実体 A
視点で見ると、誰にポインタを貼られているのかわからない点
削除時の順序
実体
に A
という名前がついている
ハードリンクで B
, C
という名前をつける
A
を削除する
B
や C
が存在するので 実体
は消えない
A
のパスを見てもアクセスはできない
B
を削除する
C
が存在するので 実体
は消えない
C
を削除する
実体
は誰にも見られなくなったので本当に消える
ファイルを消した際に、本当に 実体
が消えるのかどうかが状況に依存する
消えることもアレば、消えないこともある
そもそも論
「ファイルを作成」したときに
実体
と そのファイル名
は別々に作られる、という理解を前提にしておこう
つまり、全てのファイル実体には一つ以上のファイルから参照されている
誰にも参照されなく成った 実体
は削除される
参考