当記事ではLinuxのリンクについてご紹介します。
リンク
リンクとは、ファイルやディレクトリに別名を付けて、その名前でアクセスができる仕組みです。 Linux を含む UNIX 系 OS では、ファイルやディレクトリに別名を付ける事を「リンクを張る」といいます。 リンクを張ることによって、深い階層にあるディレクトリやファイルにアクセスする際のキー入力数や、入 力ミスを低減する効果などがあります。 Linux で設定できるリンクには、「ハードリンク」と「シンボリックリンク」の 2 種類があります。
リンクを作成する為には、「ln」コマンドを使用します。
オプションを付与しない場合は、ハードリンクとして作成されます。
シンボリックリンク
シンボリックリンクは、Windows のショートカットによく似ています。 ファイルの実体を指しているオリ ジナルファイルへのリンクが、シンボリックリンクです。 シンボリックリンクはリンク元とリンクファイルが異なる i ノードで管理されている為、オリジナルのファ イルを削除してしまうと実体のファイルの場所が分からなくなってしまうので、シンボリックリンクからファ イルの実体への参照ができなくなります。
ハードリンク
ハードリンクは、i ノードと関連付けたリンクのことです。 そのため、オリジナルファイルと同じ i ノード 番号を持つファイルを作成することになります。 ハードリンクでは同じ i ノード番号を使用することによって、ファイル名が異なっていても同じ i ノード(実 体)にアクセスすることができます。 しかし、ハードリンクには次の 2 つの制限があります。
・ディレクトリに対するリンクを作成できない
・異なるパーティション間でのリンクを作成できない
i ノードはパーティションごとに生成される管理番号であるため、同じパーティション内でしかリンクを張 ることができません。
ファイルの削除
ハードリンクでは、オリジナルのファイルを削除しても、もう 1 つのファイルから実体を参照することが可 能です。 これは、「ファイル削除=ファイルの実体を削除」ではなく、「ファイル削除=リンク情報を削除」 という概念を持っているからです。
以上Linuxのリンクについてでした。