ASCII.jp デジタル用語辞典

ホーム > デジタル用語辞典

  ハードリンク  
Hard Link

 あるファイル実体に対して、その本来の名前に加えて、別のパス(PATH)によるアクセスも可能にする、UNIXファイルシステムの1機能。ファイルの別名を実現するという意味では同様の機能を実現するシンボリックリンクという仕組みもあるが、実装からくる制限などで違いがある。

 UNIXのファイルシステムでは、ファイルは、ファイルのデータ実体が格納されている「データ領域」と、そのファイルの所有者や大きさ、作成日付、データ領域へのポインタといった各種情報を「Iノード」と呼ばれるエントリとで管理されている。ハードリンクは、このIノードの仕組みを利用し、データ領域へのポインタが同じ「ファイル(のIノードエントリ)」を作ることで実現されている(ファイルへのアクセスは、Iノードをたどっていくことで行なわれるため、Iノードのファイル実体へのポインタが同じなら、パス名が異なっても同じファイルを指し示すことになる)。Iノードはファイルシステムごとに管理されているため、ハードリンクには、異なるファイルシステム間でリンクを張ることができない、という制限がある(シンボリックリンクでは、ファイルシステムが異なっていてもリンク可能)。

 またIノードには、いくつのパスからリンクされているかという「リンクカウント」情報も格納されており、この数が2以上のうちは、リンクを削除しても実体が削除されることはない。逆に、リンクが1の場合(そのパス以外にはリンクしているパスがない状態)は、それを削除した段階で実体も削除されることになる(シンボリックリンクでは、シンボリックリンクを削除しても実体が削除されることはない)。

 もともとのUNIXにおいては、viとex、viewというコマンドにハードリンクが用いられている例が有名(これらのバイナリプログラム実体は1つで、起動時のファイル名で挙動が変わるようにプログラムされている)。ハードリンクも、シンボリックリンクと同じく“ln”コマンドで設定できるが、一般ユーザーがハードリンクを利用することはあまりない。

関連用語
UNIX
 (Glossary Help)

シンボリックリンク
 (Glossary Help)


ホーム | PC/デジタル | Mac/iPod | トレンド | アスキービジネス | アキバ | デジタル用語辞典 | Blogmag | アスキーの雑誌 | アスキー365

ニュース | レビュー | トピックス | PC | デジカメ | ケータイ | Microsoft | 価格比較 | キャリア | ムービーフラッシュ

サイトポリシー | プライバシーポリシー | アスキー・メディアワークスについて | お問い合わせ