今回はハードリンクとシンボリックリンクについてまとめました。
ハードリンクとシンボリックファイルの実体(データ)とファイル名を結びつけるリンクの種類です。
以下がそれぞれの説明です。
■ハードリンク
ファイルの実体(データ)を直接参照するリンク。
同じ実体を参照するハードリンクは複数作成することが可能。それらは全て同じinode番号を持つ。
■シンボリックリンク
元ファイルの場所を指し示すリンク。
シンボリックリンクは、元ファイルがどこにあるかというパス情報のみを持っている。
ハードリンクはひとつの実体であるファイルに複数の名前を付けられるというイメージで、
シンボリックリンクはWindowsでいうショートカットのようなものです。
ハードリンクとシンボリックリンクの違いをまとめました。
・ハードリンクはinode番号が同じなのに対し、シンボリックリンクはinode番号が異なる
・ハードリンクは異なるファイルシステムにハードリンクを作成できないのに対し、
シンボリックリンクは異なるファイルシステムでもシンボリックリンクを作成できる
・ディレクトリのリンクはシンボリックリンクのみ作成できる
・ハードリンクはリンク元のファイルが削除されてもファイルの実体にアクセスすることができるが、
シンボリックリンクはリンク元のファイルが削除されるとファイルの実体にアクセスすることはできなくなる
lnコマンドでファイルのリンクを作成することができます。
「ln ファイル名 リンク名」でハードリンクを作成、
「ln -s ファイル名 リンク名」でシンボリックリンクを作成することができます。
また、ハードリンクの数とinode番号は「ls -il」コマンドで確認することができます。
シンボリックリンクの場合は「ls -il」コマンドで確認すると、パーミッションの先頭に「l」が表示されます。