【Linux入門】ハードリンク

 ハードリンクは、ファイルシステムにおいて、同じファイルに複数の名前をつける方法です。元のファイルとハードリンクされたファイルは、実質的に同じファイルを指しており、どちらかの名前でアクセス・操作すると、内容が同期されます。ハードリンクは、元のファイルが削除されても、他のハードリンクが存在する限りデータは失われません。

ハードリンクとは

 具体的に説明すると、ハードリンクは、ファイルシステムにおいて同じ iノード(ファイルのメタデータが格納される場所)を複数のファイル名で参照する方法です。オリジナルのファイルと同じiノードを共有する新しいファイルを作成することで、実質的に同じデータを参照する複数のファイルを作成できます。

ハードリンクを作成するコマンド

 Linuxシステムでハードリンクを作成するには、lnコマンドを使用します。一般的な使用法は以下のとおりです。

$ ln オリジナルファイル ハードリンク名

例えば、'file1' という名前のファイルにハードリンクを作成する場合は、

$ ln file1 link_to_file1


ハードリンクの例

 例えば、'file1' という名前のファイルを作成し、それに対してハードリンクを作成する場合を考えてみましょう。

1.オリジナルファイルの作成

$ echo "This is the original file." > file1

2.ハードリンク

$ ln file1 link_to_file1

 この操作により、'file1' と 'link_to_file1' は同じデータを参照するハードリンクとして作成されます。どちらか一方のファイルを変更しても、データは同期されます。

まとめ

 ハードリンクは同じファイルシステム内でのみ機能し、同じデータへの新たな参照を作成する際に利用されます。