[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ハードリンク (hard link)

pointこの用語のポイント

pointUNIX関連で登場するよ

pointファイルに、あだ名を付けるよ

point元ファイルとほぼ同じものだよ

スポンサーリンク

簡単に書くよ

ハードリンク (hard link)とは

UNIX系のOS(Linuxとか)において、ファイルにあだ名を付けることで複製したっぽく見せる行為のこと
です。

image piyo

詳しく書くよ

一言で言えば「ファイルにあだ名を付ける」のが「ハードリンク」です。

例えば、ファイルAに「B」というあだ名を付けたとしましょう。

ハードリンク

ファイルAを開くと、ファイルAが開きます。
これは当たり前ですね。

ハードリンク2

あだ名Bを開くと、ファイルAが開きます。
あだ名BはファイルAのあだ名だからです。

ハードリンク3

ファイルAを指定した場合と、あだ名Bを指定した場合で、開くファイルは同じです。
どちらもファイルAです。

ハードリンク4

この話における「あだ名B」がハードリンクです。

ハードリンクと元のファイルは同じファイルです。
ハードリンクを削除すると、(状況次第で)ファイル本体が削除されます。

ただし、名前が存在する限りは、ファイル本体は削除されません。
本名であろうと、あだ名であろうとです。

例えば、ファイルAのハードリンクとして、ハードリンクBを作ったとしましょう。
ファイルAに、あだ名「B」が付いています。

ハードリンク5

この状態でファイルAを削除しました。
そうすると、ファイルAは見かけ上、削除されます。
ところがどっこい、ファイル本体は削除されません。

ハードリンク6

ファイルAを指定して開こうとした場合は「そんなファイルは無いよ」と言われます。

ハードリンク7

ハードリンクBを指定して開こうとした場合はファイルを開けます。

ハードリンク8

ハードリンクBは残っていますからね。
ハードリンクBを指定された場合を想定して、ファイル本体は残してあるのです。

さて、この状態でハードリンクBを削除しました。
これで、ファイルにくっついていた、すべての名前がなくなりましたね。

ハードリンク9

そうすると、ファイル本体も削除されます。

ハードリンク10

これは、名前がなければ開く対象として指定できないからです。

ファイルの名前がすべて削除された = このファイルが今後、使われることはない

と解釈されます。

ハードリンクの削除については

名前が残っている限りはファイル本体は削除されない
(すべての名前がなくなった時点でファイル本体が削除される)


点を覚えておいてください。

つまり、ハードリンクを削除することによってファイル本体が削除される場合もあれば、削除されない場合もあるわけです。
削除されるか、されないかは、ハードリンク(と元ファイル名)が残っているか否かによります。

以上でハードリンクの説明は終わりですが、ついでなので「シンボリックリンク」にも触れておきます。

シンボリックリンクは「ファイルやフォルダの代理人ファイル」です。
Windowsの方が得意な人は、ショートカットみたいなものだと思ってください。

シンボリックリンクは、自分がそのファイルやフォルダであるかのように振る舞います。
ただし実際には、ただの成りすましです。
「おーい!ちょっくら来ておくれ~!」と呼び出されると、成りすまし元に「呼ばれてるよ!早く行きなよ!」と押しつけます。

ハードリンク11

ハードリンクとシンボリックリンクの主な違いは

■ハードリンク
・ファイルに付けたあだ名
・元のファイルとハードリンクは(ほぼ)同じ物
・状況によっては、ハードリンクが削除されると元のファイルも削除される
・同じパーティションにしか作れない
・フォルダに対しては作れない

■シンボリックリンク
・ファイルやフォルダの代理人ファイル
・元のファイルとシンボリックリンクは別物
・シンボリックリンクを削除しても元のファイルに影響はない
・どこにでも作れる
・フォルダに対しても作れる


です。

ハードリンクはフォルダに対しては作れません。
ご注意ください。

image piyo2

一言でまとめるよ

まぁ「ハードリンク」って単語が出てきたら「ファイルにあだ名を付けることなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク