ハードリンクとソフトリンクの違い

著者: Laura McKinney
作成日: 1 4月 2021
更新日: 1 5月 2024
Anonim
LPICレベル1対策講座「ハードリンクとシンボリックリンク」
ビデオ: LPICレベル1対策講座「ハードリンクとシンボリックリンク」

コンテンツ


Unixのリンクは、基本的にファイルとディレクトリに関連付けられたポインターです。ハードリンクとソフトリンクの主な違いは、ハードリンクはファイルへの直接参照であるのに対し、ソフトリンクはファイル名でファイルを指すことを意味する名前による参照です。

ハードリンクは同じファイルシステム内のファイルとディレクトリをリンクしますが、ソフトリンクはファイルシステムの境界を横断できます。

リンクを理解する前に、まず理解する必要があります iノード、iノードは、ファイルの作成日、ファイルの承認、ファイルの所有者など、ファイルに関するメタデータで構成されるデータ構造です。

  1. 比較表
  2. 定義
  3. 主な違い
  4. 結論

比較表

比較の根拠ハードリンク
ソフトリンク
ベーシックファイルには、ハードリンクと呼ばれるさまざまな名前でアクセスできます。ファイルは、そのファイルを指すさまざまな参照を介してアクセスでき、ソフトリンクと呼ばれます。
元のファイルが削除されたときのリンク検証まだ有効で、ファイルにアクセスできます。
無効
作成に使用されるコマンドln
ln -s
iノード番号同じ
異なる
リンク可能 独自のパーティションに。ネットワーク接続されている他のファイルシステムにも。
メモリ消費もっと少なくもっと
相対パス適用できません許可された


ハードリンクの定義

ハードリンク 同じファイルシステム内の2つのファイルを直接リンクし、識別のためにファイルのiノード番号を使用します。ハードリンクはディレクトリに実装できません(iノードを指すため)。いつ "ln」コマンドを使用してハードリンクを生成します。コマンドラインに別のファイルを作成し、元のファイルを参照するために使用できます。元のファイルと生成されたファイルの両方に同じiノードとコンテンツがあります。したがって、それらは同じ許可と同じ所有者を持ちます。

元のファイルを削除しても、ハードリンクファイルには影響しません。ハードリンクファイルは残ります。 iノードはカウンターを保持し、それ自体へのハードリンクの数を計算します。カウンターが0の値を示すと、iノードは空になります。ハードリンクに変更を加えるたびに、元のファイルが模倣されます。

ソフトリンクの定義

ソフトリンク 通常、元のファイルの代替パス(またはエイリアス)です。これらはまたと呼ばれます シンボリックリンク。リンクの「ターゲットファイル」の名前、ソフトリンクであることを指定するフラグが含まれます。ファイルにアクセスすると、ソフトリンクは、ソフトリンクの件名に記述されたパスを介して、そのファイルをターゲットファイルにリダイレクトします。

これらは、ソフトリンクがショートカットとして動作するWindows OSの場合に非常に便利です。ソフトリンクの作成と削除は、元のファイルには影響しません。ターゲットファイルが削除されると、ソフトリンクはぶら下がります。つまり、ターゲットファイルにアクセスすると、どこにもポイントせず、エラーが生成されます。ソフトリンクは、ハードリンクとは異なり、iノード番号を使用しません。絶対パスまたは相対パスは、シンボリックリンクの一部である可能性があります。

  1. ハードリンクは、ターゲットファイルにアクセスするためにiノードを参照する元のファイルの追加名です。対照的に、ソフトリンクは元のファイルとは異なり、元のファイルのエイリアスですが、inodeは使用しません。
  2. 元のファイルが削除されると、ソフトリンクは無効になりますが、ハードリンクはターゲットファイルが削除されても有効です。
  3. Linuxでは、ハードリンクの作成に使用されるコマンドは「ln「。反対に、ソフトリンクに使用されるコマンドは「ln -s“.
  4. ハードリンクにはソフトリンクとは異なる同じiノード番号があり、ターゲットファイルとそのソフトリンクには異なるiノード番号があります。
  5. ハードリンクは独自のパーティションに制限されていますが、ソフトリンクはさまざまなファイルシステムをカバーできます。
  6. ハードリンクのパフォーマンスは、場合によってはソフトリンクよりも優れています。
  7. ソフトリンクでは相対パスと絶対パスの両方が許可されます。それどころか、ハードリンクでは相対パスは許可されません。

結論

ハードリンクには余分なスペースやマットの解決は必要ありませんが、ハードリンクに適用された変更は元のファイルに反映されます。一方、ソフトリンクには余分なスペースが必要ですが、ソフトリンクを変更しても元のファイルには影響しません。ハードリンクとは異なり、ディレクトリへのソフトリンクは許可されます。