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

まず、
ハード接続の概念は、インデックスノードを介した接続を指します。Linuxファイルシステムでは、ディスクパーティションに格納されているファイルのタイプに関係なく、iノードインデックスと呼ばれる番号が割り当てられます。Linuxでは、複数のファイル名が同じインデックスノードを参照します。例:AはBのハードリンクです(AとBは両方ともファイル名です)。Aのディレクトリエントリのiノードノード番号は、Bのディレクトリエントリのiノードノード番号と同じです。つまり、1つのiノードノードが2つの異なるファイルに対応します。名前、2つのファイル名は同じファイルを指し、AとBはファイルシステムと完全に同じです。それらのいずれかを削除しても、他のアクセスには影響しません。
他の種類の接続はシンボリックリンク(シンボリックリンク)と呼ばれ、ソフトリンクとも呼ばれます。ソフトリンクファイルには、Windowsと同様のショートカットがあります。実際には特別なファイルです。シンボリックリンクでは、ファイルは実際にはテキストファイルであり、別のファイルの場所情報が含まれています。例:AはBのソフトリンクです(AとBは両方ともファイル名です)。Aのディレクトリエントリのiノードノード番号は、Bのディレクトリエントリのiノードノード番号と異なり、AとBは2つの異なるポイントを指します。 iノードは、2つの異なるデータブロックを指します。ただし、AのデータブロックにはBのパス名のみが格納されます(これにより、Bのディレクトリエントリが見つかります)。AとBの間には「マスター/スレーブ」関係があります。Bが削除されても、Aはまだ存在します(2つは異なるファイルであるため)が、無効なリンクを指しています。
次に、実験結果
[oracle @ Linux] $ touch f1#テストファイルを作成f1
[oracle @ Linux] $ ln f1 f2#f1のハードリンクファイルf2を作成
[oracle @ Linux] $ ln -s f1 f3 #create f1シンボリックリンクファイルf3
[oracle @ Linux] $ ls -li#-iパラメーターは、ファイルのiノードノード情報の
合計を表示します0
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f1
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f2
9797649 lrwxrwxrwx 1 oracle oinstall 2 Apr 21 08: 11 f3-> f1

上記の結果からわかるように、ハードリンクファイルf2と元のファイルf1のiノードノードは同じで、どちらも9979648ですが、シンボルリンクファイルのiノードノードが異なります。

[oracle @ Linux] $ echo "I am f1 file" >> f1
[oracle @ Linux] $ cat f1
I am f1 file
[oracle @ Linux] $ cat f2
I am f1 file
[oracle @ Linux] $ cat f3
I am f1ファイル
[oracle @ Linux] $ rm -f f1
[oracle @ Linux] $ cat f2
私はf1ファイルです
[oracle @ Linux] $ cat f3
cat:f3:

上記のテストでは、そのようなファイルやディレクトリ表示されません。元のファイルf1を削除した後、ハードリンクf2は影響を受けませんが、シンボリックリンクf1ファイルは無効です
結果(1)f1、f2に影響を与えないシンボリックリンクf3を削除します; 2)f1、f3に影響を与えないハードリンクf2を削除します; 3)ハードリンクf2に影響を与えない元のファイルf1を削除し、結果としてシンボルになります接続f3は無効です; 4)元のファイルf1とハードリンクf2を同時に削除すると、ファイル全体が削除されます。

3.異なる構文フォーマット:

ハードリンク:lnソースファイルリンク名ソフトリンク:

    ln -Sソースファイルリンク名

第4に、ソフトリンクの確立は新しいファイルを作成することです。リンクされたファイルにアクセスすると、システムはそれがリンクされたファイルであることを検出し、リンクされたファイルを読み取って、アクセスするファイルを見つけます。ハードリンクは、ファイルインデックスノードへのポインタです。システムは、そのiノードを再配布しません。ディレクトリのハードリンクを作成できるのは、スーパーユーザーだけです。

 

おすすめ

転載: www.cnblogs.com/1314-520/p/12673998.html