1.リンクの定義とリンク解除
1、リンク
linkはLinuxファイルシステムのディレクトリ管理のシステムコールであり、リンクを作成します。リンクは、上記のext2の概要で説明したディレクトリアイテムを作成するためのものです。ディレクトリアイテムは、< ファイル名、inode番号 >の組み合わせであるため、リンクが作成されますディレクトリエントリのファイル名には新しいファイル名を付けることができますが、iノード番号はリンクされているファイルのiノード番号のままです。しかし同時に、ファイル共有も実現します。すべてがファイルであるため、リンクの力はLinuxファイルシステムに柔軟性を与えます。
たとえば、次の図に示すように、lib64の下のuuidライブラリファイルを確認します。Libuuid.so.1はlibuuid.so.1.3.0へのリンクです。両方のファイルがlibuuid.so.1.3.0のiノード番号を指しています。これは互換性のためによく使用されます。
2、リンク解除
unlink システムコールはディレクトリエントリの1つを削除するため、他のディレクトリエントリがまだ存在する場合、関連ファイルは引き続き存在します。場合は、すべてのディレクトリエントリが削除され、Linuxは(ファイルへのディレクトリ・エントリ・ポイントを発見したinodeが中央持つドメインを、レコードの数は、ファイルのディレクトリを指す)、そしてファイルのみが可能ディスクから削除されます。
第二に、ハードリンクとソフトリンク
Linuxファイルシステムには、ハードリンクとソフトリンク(またはシンボリックリンク)の2種類のリンクリンクがあります。
シェルコマンド、ソフトリンク:ln -sソースファイルターゲットファイル、ハードリンク:lnソースファイルターゲットファイル、パラメーターなし-s。
1.ハードリンク
前に説明した方法はハードリンクです。
ハードリンクの欠点:
(1)ディレクトリとiノードが同じファイルシステム、つまり同じパーティションに属しているため(原理については前の記事を参照してください)、あるファイルシステムのディレクトリが別のファイルシステムのiノードを指すことはできません。したがって、ハードリンクはファイルシステムを通過できません。
(2)ファイルの所有者とアクセス権のセットは1つだけです。別のユーザーのアクセス権が不十分な場合、ファイルを削除することはできません。
2.ソフトリンク
ハードリンクの制限に基づいて、ソフトリンクが提案されます。ハードリンクとは異なり、ファイルが作成されますが、ファイルのデータは別のファイルのパス名です。インターネット上の一部の人々は、ソフトリンクはハードリンクを指すと言います。パス名は任意のファイル、または存在しないファイル名であることもあるので、このステートメントは正確ではなく、方法の1つとしか言えません。
この接続は、さまざまなファイルシステムにまたがることができます。中のWindowsと呼ばれるシステム、ショートカット(ショートカット)として。AppleのMac OSでは、エイリアスと呼ばれます。
ソフトリンクの特徴:
(1)ソフトリンクには、独自のファイル属性と権限があります。
(2)存在しないファイルまたはディレクトリに対してソフトリンクを作成できます。
(3)ソフトリンクはファイルシステムを越えることができます。
(4)ファイルまたはディレクトリのソフトリンクを作成できます。
(5)ソフトリンクを作成する場合、リンク数i_nlinkは増加しません。
ソフトリンクの欠点:
ファイルが削除されるか、ファイル名が変更されると、対応するリンクは無効になります(つまり、デッドリンクダングリングリンク。パスファイルを再作成すると、デッドリンクは通常のソフトリンクに復元できます)。
参考資料:
「オペレーティングシステムの設計と実装」の第3版。
https://www.cnblogs.com/invisible2/p/6992420.html