1. トップ
  2. 新着ニュース
  3. IT
  4. パソコン

窓辺の小石 第191回 リンクの冒険

マイナビニュース / 2024年11月8日 17時3分

画像提供:マイナビニュース

WindowsやLinuxのファイルシステムは、階層構造になっているため、異なるパスのファイルに同じ名前をつけることができる。逆にいうと、階層構造なので、どこか別の場所にあるファイル名を意識することなく、適当なファイル名をつけることができる。

しかし、ルートディレクトリを起点とした、「木」というよりも「根」のような構造は、ファイルの置き場所を1か所に限定してしまう。こうした不便を解消するために用意されたのが「リンク」と呼ばれる機能だ。

リンクとは、ファイルやディレクトリを、パス上の別の位置に配置するためのもの。これらを使うことにより、ユーザーは、ファイルを見つけやすくなる。同時に参照するファイルを一か所に集めながら、プログラムが処理する本来の場所にも残すといった使い方ができる。

ファイルシステムのリンクには、大きく、「ハードリンク(Hard link)」と「ソフトリンク(Soft link)」がある。オペレーティングシステムによって呼び方は異なるが、基本的な機能は同じである(表01)。Windowsには、歴史的な経緯から4つのリンクがある(表02)。FATファイルシステムには、ハードリンク機能がなく、Windows 95で「ファイル・ショートカット」に実装された。これは、拡張子が「.lnk」になった純粋なファイルで、内部にリンク先などの情報を記録している。エクスプローラーは、このファイルを特別扱いして、ソフトリンクにしている。また、ウィザード形式でのファイル・ショートカットの作成もいまだに可能だ。

Windows 10あたりから、内部構造が異なるファイル・ショートカットが登場していて、Win+Xメニューなどの利用されている。Windowsには、ユーザーがこの形式のファイル・ショートカットを作成する機能を提供していない。

Windows NTのNTFSには最初からハードリンクがあり、ディレクトリ用に「ジャンション」が作られた。その後、Windows Vistaのタイミングでソフトリンクであるシンボリックリンクが実装された。

ハードリンクとは、ファイルの実体とファイル名を結びつける「ディレクトリ・エントリ」を意味する。全てのファイルは少なくとも1つのハードリンクを持つ。これに対して、別のファイル名(パス)とファイル内容を結びつけるのがハードリンクだ。ハードリンクの実体は、ファイルシステム内にあるファイル実体への参照カウントである。

この記事に関連するニュース

トピックスRSS

ランキング

複数ページをまたぐ記事です

記事の最終ページでミッション達成してください