解説
ファイルシステムでは、ディスクなどのメディアにあるデータの位置やサイズを記録して、ファイルとしてアクセス可能にします。
「ハードリンク」(hard link)は、このファイル名や位置の情報を、複数作るためのものです。いくつかの場所から、実体にアクセス可能にします。
「ソフトリンク」(soft link)は、1つの本体のファイル情報に対して、参照を作る方式のリンクです。参照が指し示しているのは実体ではありません。
ソフトリンクは、OSなどの環境によって、シンボリックリンク、ショートカット、エイリアスなど、様々な呼び方があります。
仕様上、ハードリンクはデバイスやパーティションをまたがって作ることはできません。これは普通のファイル名と同じで、そのデバイスやパーティション内にある実体のデータに対して紐付けされるためです。
ソフトリンクは、参照先の元のファイルが移動されたり削除されたりすると、アクセスできなくなるというデメリットがあります。ハードリンクではそうしたことはありません。ハードリンクでは、全てのハードリンクが削除された時に、実体のファイルも削除されます。
一般的に、離れた場所からファイルを参照できて、より利便性の高いソフトリンクが利用されます。
プログラミング言語の、ファイル操作APIには、シンボリックリンクを作成したり、その参照先を得たりする命令が含まれていることが多いです。元のファイルの位置を変更せず、参照先だけを作りたい場合は、こうした命令を利用することになるでしょう。
サンプル
今回はサンプルはありません。