コンテンツにスキップ

「ハードリンク」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
SuisuiBot (会話 | 投稿記録)
m fix: de
大きく書き直す
1行目: 1行目:
[[Image:Hard_Link_Illustration.png|right|frame|ハードリンクにはリンク先・リンク元の区別が無く両者は全く対等である]]
[[Image:Hard_Link_Illustration.png|right|frame|ふたつのハードリンクによって参照されファイル]]
'''ハードリンク'''とは[[コンピュータ]]の[[ファイルシステム]]上の[[ファイル]][[ディレクトリ]]等の資源にオリジナルへアクセス手段とは別ディレクトリ・ファイルアクセス手段を提供する機能。[[ソフトリンク]]がオリジナルのファイルに対する[[ポインタ]](オリジナルファイルの位置等の参照に必要情報)みを保持しているリンクであるのに対し、ハードリンクには参照先とう概念が存在せず、オリジナルのファイルと全く同様に同じデータにアクセスする別のアクセス方法を提供する。一方のファイルが消去された場合でも別のハードリンクされていファイルが存在している限りはファイル内容は消去されず残る。特定のファイルを消去するタイミング[[参照カウント]]によって管理されており、参照先ファイルが存在しなくなった時点ファイルの内容が消去される。
'''ハードリンク'''とは[[コンピュータ]]の[[ファイルシステム]]上の[[ファイル]][[ディレクトリ]]等の資源とその資源につけられた名前を結びつけること、もくは結びつきをいう。よって、名前によってアクセスでるファイルは少くともひとつのハードリンクを持っている。ファイルは複数のハードリンクを持つこともあ。こ場合、そのファイルは複数なった名前アクセスできる。


[[ソフトリンク]]が名前とファイルへのアクセス方法を結びつけるのに対し、ハードリンクは名前をファイルに直接結びつけるものであるため、ファイルへのアクセスはどの名前からハードリンクをたどっても同じ処理方法となる。ファイルに複数のハードリンクを作ることができるファイルシステムでは、ファイルを削除するというのはハードリンクを削除するという意味で使われる。そのようなシステムではファイルはハードリンクによる[[参照カウント]]を記録しており、ハードリンクが削除された場合でも、別のハードリンクが存在している限り、ファイル自体は削除されずに残る。参照するハードリンクがなくなった時点でファイルが削除される。
ハードリンクはその性質上[[ファイルシステム]]そのものの機能に強く依存しており、異なったファイルシステム間をまたがったリンクを作成するのは原理的に不可能である。


ハードリンクはその性質上[[ファイルシステム]]そのものの機能に強く依存しており、異なったボリューム間をまたがったリンクを作成するのは原理的に不可能である。
ハードリンクの機能は主にソフトリンク(UNIXではシンボリックリンク)が実装されていなかった時の[[UNIX]]で用いられた。ハードリンクの機能は[[NT File System|NTFS]]や[[HFS|HFS+]]にも実装されており今日利用されている多くの[[オペレーティングシステム]]に備わっているがリンクの扱いやすさに比べて仕様直感的でないためあまり用いられない。

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

UNIXにおいては、ディレクトリが3種類のハードリンクで参照されているのが特徴的である。例えば「tmp」と呼ばれるディレクトリに対して、その3つとは
* 親ディレクトリからそのディレクトリを参照するためにつけられた「tmp」という名前
* そのディレクトリから自分自身を参照するためにつけられた「.」という名前
* 子ディレクトリからそのディレクトリを参照するためにつけられた「..」という名前
である。最後のハードリンクは子ディレクトリの数だけ作られる。


{{comp-stub}}
{{comp-stub}}

2005年11月9日 (水) 10:48時点における版

ふたつのハードリンクによって参照されるファイル

ハードリンクとはコンピュータファイルシステム上のファイルディレクトリ等の資源とその資源につけられた名前を結びつけること、もしくは、その結びつきのことをいう。よって、名前によってアクセスできるファイルは少なくともひとつのハードリンクを持っている。ファイルは複数のハードリンクを持つこともある。この場合、そのファイルは複数の異なった名前でアクセスできる。

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

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

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

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

  • 親ディレクトリからそのディレクトリを参照するためにつけられた「tmp」という名前
  • そのディレクトリから自分自身を参照するためにつけられた「.」という名前
  • 子ディレクトリからそのディレクトリを参照するためにつけられた「..」という名前

である。最後のハードリンクは子ディレクトリの数だけ作られる。