まず、Linuxで接続ソフトとハードリンクの基本的な概念を理解する必要があります。
ハードリンクを:新しいファイルがすでに元エイリアスファイルが存在するファイルが削除され、新しいファイルがまだ使用することができます。
ソフトリンク:また、既知のシンボルリンク、別のファイルを示すために「パス」などの新しいファイル、およびWindowsのショートカットに非常に似て、新しいソフトリンクが存在しないファイルを指すことができます。
ハードとソフトのリンク接続の違いについて次の詳細を。
1.ハードリンクと元のファイルは異なっていないだけでなく、共有番号(ファイルシステム上のファイルを一意に識別する)、iノード、およびソフトリンクはinodeを共有していない、それは言うことができる特別なiノードであり、それは、元のinodeは、分化。
2.オリジナルの場合はファイルが削除され、接続がソフトへのアクセス権を持っていないだろう、とハードの接続が可能です。
3.によりクロスにつながることができ、シンボリックリンクの性質にパーティション。この特性を持っていないが、ハードリンク
のlnハードリンク(ハードリンク)
のln [オプション]ソースファイルの宛先:コマンドの形式があります
オプション:あなたは「-s」を追加しない場合は、ハードリンクされたファイルが確立されます。プラスソフトリンクが確立され、「-s」。
-f:ターゲット・ファイルがすでに存在する場合フォースは、その後、リンクされたファイルの確立後にターゲットファイルを削除します。
デモンストレーションは、以下の
命令为:LN sh1.cppハード 命令:猫のハード の#include <iostreamの> 使用して名前空間はstdを、クラスデモ { パブリック: デモ() { coutの << " 今、コンストラクタが実行されている\ nは。" ; } }。INT メイン() { COUT << 「オブジェクトが作成される前にこれが表示されます。\ n 」。 デモdemobj; coutの << 「オブジェクトが扱われる前に、これが表示されます。 " ; 戻り 0 ; }
命令:猫sh1.cpp する#include <iostreamの> 使用して名前空間STDを、クラスデモ { パブリック: デモ() { COUT << " 今コンストラクタが実行されている\ n " ; } }; int型メイン( ) { COUT << " オブジェクトが作成される前にこれが表示されます。\ n " ; デモdemobj、 COUT << 「オブジェクトが扱われる前に、これが表示されます。\ n 」; リターン 0 ; }
ハードリンクの特性
1.かどうかは、ソースファイルを変更したり、ハードリンクされたファイルを変更するために、ファイル内の他のデータが変更されます。
ファイルへ2.かかわらず、ソースファイルの削除または削除されたハードリンクは、限り、ファイルが存在すると、ファイルにアクセスできます。
3.ハード・リンクは新しいiノード情報を作成しない、それはiノードの合計数は変更されません。
より多くのハードリンクの4.制限、クロスファイルシステムはできません。あなたはディレクトリをリンクすることはできません、とiノード番号に加えて、ファイルやソースファイル間のハードリンクは他の明白な機能、外部のと同じです。
ソフトリンク(シンボリックリンク)LN-sの
ソフト・リンクを直接確立することができ、それはまた、ディレクトリを介して確立することができます。
次のようにプレゼンテーション:
ソフトリンクダイレクト コマンド:LN -s sh2.cppソフト (絶対パスでなければなりません)ソフトリンクディレクトリを通じて コマンドます。ln -s /home/qqtsj/cpp/sh3.cpp /ホーム/ qqtsj / CPP / swor ソフトリンク以下作成、表示 コマンド:LS -l -rw-RW-r--の1 qqtsjのqqtsj午後06時52 size.cpp 289 11越7 lrwxrwxrwx 1 qqtsjのqqtsj 7 1越19時27分ソフト5 - > sh2.cpp lrwxrwxrwx 1 qqtsj qqtsj 23. 1日付けSWOR 19:30 5 - > /home/qqtsj/cpp/sh3.cpp 。-rwxrwxr X-29336 11. 1 qqtsjのqqtsj 17:07テート日付12である 。-rwxrwxr qqtsjのqqtsj 13280-X 20:38で1 11月10日にtate1 -rw-r--のRW-677。10日付け11 1 qqtsjのqqtsj午後8時46分tate1.cpp -rw-r--のRW-0。10夜08時37 tate2.cpp日付11 1 qqtsjのqqtsj
ソフトリンク特性
1.かどうかは、ソースファイルを変更、またはソフトリンクファイルを変更するには、データの別のファイルが変更されます。
2.ソースファイルが影響を受けて、ソースファイルを削除されることはありません、ソフトリンクを削除し、ファイルが表示ファイルへのソフトリンク、実際のデータが存在しない見つけることができません。
3.ソフト・リンクは、あなた自身のブロックとiノード情報を作成しますが、ブロック内の実際のファイルデータが格納されていない、ソースファイルのファイル名とiノード番号に格納されます。
4.ソフトリンクは、パーティションを自慢することができ、ディレクトリにリンクすることができます。
ハードとソフトリンクの最大の違いは、原則的に、ということである:ハードリンクは、しかし、直接iノード情報に、自身のインデックスのinodeとブロック(データブロック)を構築し、ソースファイルをブロックしないので、ソースファイルとハードリンクのinode番号同じである:ソフト・リンクとソースファイルのinode番号が矛盾しているが、また、ソフトリンクブロックに、書き込みが実際のデータが、唯一のソースファイルではありませんので、ソフト・リンクは、独自のiノードインデックスとブロックを確立されつつ、ファイル名とiノード番号。