ハードリンク

ハードリンクとはコンピュータのファイルシステム上のファイルディレクトリ等の資源とその資源につけられた名前を結びつけること、もしくは、その結びつきのことをいう。よって、名前によってアクセスできるファイルは少なくともひとつのハードリンクを持っている。ファイルは複数のハードリンクを持つこともある。この場合、そのファイルは複数の異なった名前でアクセスできる。UNIXを例に言えば、すべてのファイルディレクトリにはinodeと呼ばれる固有のIDが割り当てられている。ハードリンクとは同じID(iノード)にアクセスするファイルディレクトリ)のことであり、新しくハードリンクを張れば、同じ実体(右図のActual Data on Disk)へアクセスする方法が複数あると言うことになる。そのいずれかに変更を加えると、ファイルシステムはiノードが同一であるすべてのファイルに変更を反映する。これにより、あたかもソフトリンクであるかのように機能する。実体を移動してしまうとリンクが無効になってしまうシンボリックリンクとは違い、リンク先のファイル(オリジナル)をどこに移動してもリンクが切れることはない。

ソフトリンクが名前とファイルへのアクセス方法を結びつけるのに対し、ハードリンクは名前をファイルに直接結びつけるものであるため、ファイルへのアクセスはどの名前からハードリンクをたどっても同じ処理方法となる。ファイルに複数のハードリンクを作ることができるファイルシステムでは、ファイルを削除するというのはハードリンクを削除するという意味で使われる。そのようなシステムではファイルハードリンクによる参照カウント(リンクカウント)を記録しており、1つのハードリンクが削除された場合でも、別のハードリンクが存在している限り、固有のiノードを持つファイル実体は削除されずに残る。参照するハードリンクがなくなった時点でファイルが削除される。また、オリジナルを削除した場合はそのファイルリンク元がオリジナルとして機能するようになる(ファイルの内容が削除したファイルと同じ内容であるため)。

ハードリンクはその性質上ファイルシステムそのものの機能に強く依存しており、異なったボリューム間をまたがったリンクを作成するのは原理的に不可能である。

ファイルに別名をつける機能としてのハードリンクは主にソフトリンクUNIXではシンボリックリンク)が実装されていなかった時代のUNIXで用いられた。最近ではNTFSHFS+にも実装されており、今日利用されている多くのオペレーティングシステムに備わっているが、ファイルに別名をつける目的には、ボリューム間でもリンクを作ることができ、管理も簡単なソフトリンクを用いることが多い。

UNIXにおいては、ディレクトリが3種類のハードリンクで参照されているのが特徴的である。例えば「tmp」と呼ばれるディレクトリに対して、その3つとはである。最後のハードリンクは子ディレクトリの数だけ作られる。

Windowsにおいては、WindowsNT3.1からファイルに対するハードリンクサポートした。その方法はWindows XP以降ではコマンドプロントにてと入力する。

ハードリンク」『フリー百科事典 ウィキペディア日本語版』(http://ja.wikipedia.org/)。2009年7月28日15時(日本時間)現在での最新版を取得。

続きを見る

おすすめ情報

高品質・低価格のインターネットプロバイダ
インターネットプロバイダー「ASAHIネット」はADSL, 光回線などのインターネット接続を業界最安値水準でを提供している。日経ビジネス・J.D. Power等のお客様満足度調査でも高い評価を得ており。「推奨度№1」といわれるのも納得だ。


2010年プロバイダー【顧客満足度】NO.1 トリプル受賞  ASAHIネット

入会・お問い合わせダイヤル
0120-030-275
携帯電話/PHS/IP電話などからは
03-3569-3526

10:00~19:00(土日祝~17:00)

書面での申し込みはこちら
資料請求

このページのトップヘ