ハードリンクとソフトリンクの違い
コンテンツ
Unixのリンクは、基本的にファイルとディレクトリに関連付けられたポインターです。ハードリンクとソフトリンクの主な違いは、ハードリンクはファイルへの直接参照であるのに対し、ソフトリンクはファイル名でファイルを指すことを意味する名前による参照です。
ハードリンクは同じファイルシステム内のファイルとディレクトリをリンクしますが、ソフトリンクはファイルシステムの境界を横断できます。
リンクを理解する前に、まず理解する必要があります iノード、iノードは、ファイルの作成日、ファイルの承認、ファイルの所有者など、ファイルに関するメタデータで構成されるデータ構造です。
- 比較表
- 定義
- 主な違い
- 結論
比較表
比較の根拠 | ハードリンク | ソフトリンク |
---|---|---|
ベーシック | ファイルには、ハードリンクと呼ばれるさまざまな名前でアクセスできます。 | ファイルは、そのファイルを指すさまざまな参照を介してアクセスでき、ソフトリンクと呼ばれます。 |
元のファイルが削除されたときのリンク検証 | まだ有効で、ファイルにアクセスできます。 | 無効 |
作成に使用されるコマンド | ln | ln -s |
iノード番号 | 同じ | 異なる |
リンク可能 | 独自のパーティションに。 | ネットワーク接続されている他のファイルシステムにも。 |
メモリ消費 | もっと少なく | もっと |
相対パス | 適用できません | 許可された |
ハードリンクの定義
ハードリンク 同じファイルシステム内の2つのファイルを直接リンクし、識別のためにファイルのiノード番号を使用します。ハードリンクはディレクトリに実装できません(iノードを指すため)。いつ "ln」コマンドを使用してハードリンクを生成します。コマンドラインに別のファイルを作成し、元のファイルを参照するために使用できます。元のファイルと生成されたファイルの両方に同じiノードとコンテンツがあります。したがって、それらは同じ許可と同じ所有者を持ちます。
元のファイルを削除しても、ハードリンクファイルには影響しません。ハードリンクファイルは残ります。 iノードはカウンターを保持し、それ自体へのハードリンクの数を計算します。カウンターが0の値を示すと、iノードは空になります。ハードリンクに変更を加えるたびに、元のファイルが模倣されます。
ソフトリンクの定義
ソフトリンク 通常、元のファイルの代替パス(またはエイリアス)です。これらはまたと呼ばれます シンボリックリンク。リンクの「ターゲットファイル」の名前、ソフトリンクであることを指定するフラグが含まれます。ファイルにアクセスすると、ソフトリンクは、ソフトリンクの件名に記述されたパスを介して、そのファイルをターゲットファイルにリダイレクトします。
これらは、ソフトリンクがショートカットとして動作するWindows OSの場合に非常に便利です。ソフトリンクの作成と削除は、元のファイルには影響しません。ターゲットファイルが削除されると、ソフトリンクはぶら下がります。つまり、ターゲットファイルにアクセスすると、どこにもポイントせず、エラーが生成されます。ソフトリンクは、ハードリンクとは異なり、iノード番号を使用しません。絶対パスまたは相対パスは、シンボリックリンクの一部である可能性があります。
- ハードリンクは、ターゲットファイルにアクセスするためにiノードを参照する元のファイルの追加名です。対照的に、ソフトリンクは元のファイルとは異なり、元のファイルのエイリアスですが、inodeは使用しません。
- 元のファイルが削除されると、ソフトリンクは無効になりますが、ハードリンクはターゲットファイルが削除されても有効です。
- Linuxでは、ハードリンクの作成に使用されるコマンドは「ln「。反対に、ソフトリンクに使用されるコマンドは「ln -s“.
- ハードリンクにはソフトリンクとは異なる同じiノード番号があり、ターゲットファイルとそのソフトリンクには異なるiノード番号があります。
- ハードリンクは独自のパーティションに制限されていますが、ソフトリンクはさまざまなファイルシステムをカバーできます。
- ハードリンクのパフォーマンスは、場合によってはソフトリンクよりも優れています。
- ソフトリンクでは相対パスと絶対パスの両方が許可されます。それどころか、ハードリンクでは相対パスは許可されません。
結論
ハードリンクには余分なスペースやマットの解決は必要ありませんが、ハードリンクに適用された変更は元のファイルに反映されます。一方、ソフトリンクには余分なスペースが必要ですが、ソフトリンクを変更しても元のファイルには影響しません。ハードリンクとは異なり、ディレクトリへのソフトリンクは許可されます。