(19)lnコマンド:ファイル間のリンク(ハードリンクとソフトリンク)を確立するために

1.extファイルシステム(Linuxファイルシステム)、それがどのように動作するかです。
  私たちは、ファイルシステムに書き込まれ、Linuxは現在、ext4ファイルシステムを使用しているフォーマットの前にパーティションを説明しました。模式図は、ファイルシステムはext4を記述するために使用した場合

  、情報を記憶するための残りのブロックのほとんどのファイルのinode(Iノード)情報を保存するために使用される小型部品:ext4ファイルシステム(スーパーブロックに言及していないこと)は、2つの部分に分かれて分配されます。

  iノードのデフォルトのサイズは128バイト、ファイルを記録するために使用される許可(xはwはR)であり、グループ所有者、ファイルの状態、ファイルサイズ、ファイル変更時間(CTIME)は、ファイルが最後に読み取ら(atimeが)、最新のファイル修正時刻(mtimeを)、実際のデータファイル格納されたブロック数。各ファイルはinodeを占有する必要があります。よく見ると、あなたはinodeファイル名が記録されていないでしょう、それはファイルディレクトリブロックに記録されているため、ファイル名です。

  ブロックサイズは1キロバイト、2キロバイト、4キロバイトすることができ、デフォルトは4キロバイトです。ブロックがデータに適合しない場合は、実際のデータ・ストレージ・ブロックのために、それはブロックの複数を占めることができます。例えば、10キロバイトのファイルが最後のブロックを埋めることができないが、それは、3つのブロックを占有します保存する必要があるが、もはや他のファイルにデータを置くことはできません。この3つのブロックの連続があるかもしれない、そこに散在することができます。

  したがって、我々は、以下の2つの重要な情報を知ることができます。
  各ファイルには、を指すようにレコードからのみのinode、inodeファイルの内容を占め、
  あなたはファイルの内容を読みたい場合は、レコードを検索するために、ファイル名のディレクトリを使用する必要があります。 inodeファイル、正常にファイルの内容が存在をブロックするためにブロックを見つけます。

  次の学習lnコマンドの後に基本的なファイルシステムのLinux記憶状態を理解します。

2.lnコマンドは、ファイルへのリンクを作成するために使用されます

  :ファイルを保存する特性のLinuxシステムによれば、リンクは次の2種類に分かれて
  ソフトリンク:ショートカットを作成するには、Windowsのファイルシステムと同様、別のファイルを指す特別なファイルを生成し、リンクモード同じディレクトリに適用されます。
  ハードリンク:私たちは、ハードリンクは、ファイルのinodeの割り当てに複数のファイル名、任意の名前でファイルを参照するのに対し、基本的な情報ファイルは、iノードに格納されていることを知って、このファイルのinodeを見つけることができる、読まれますデータファイル。

  次のようにlnコマンドの基本的な形式は次のとおりです。

  [ルート@ localhostの〜]#のLN [オプション]ソースファイルの宛先

  オプション:

    • -s:ソフトリンクファイル。あなたは「-s」オプションを追加しない場合は、ハードリンクファイルを確立します。
    • -f:強制。ターゲット・ファイルがすでに存在する場合は、その後、文書をリンクするオブジェクトファイルを削除します。

 ソースファイルは、(ハードリンクは、そのような要件ではない)ソフトリンクファイルの絶対パスに書き込まれなければならないが、相対パスとして書き込むことができないことに留意されたい。それ以外の場合はソフトリンクファイルエラー。

 4.ハードリンクの原則

iノード情報には、ファイル名が記録されていないが、ファイル名がブロック親ディレクトリに書き込まれます。言い換えれば、ブロックディレクトリは、対応するファイル名と子供、このディレクトリ内のすべてのファイルとサブディレクトリのiノードに記録され、そしてファイルは、実際のデータ記録されたファイルブロックです。

私たちは、次の手順を経る、このようなルート/テスト/として文書を見つけた場合:
1)最初の(根がシステムに知られており、inode番号は2である)ルートディレクトリiノードinodeを見つけ、その後、ユーザーがアクセス権限を持っているかどうかを判断しますルートディレクトリをブロックします。
あなたが権限を持っている場合は2)、あなたはルートディレクトリに対応するブロックで/ルートファイル名とiノード番号にアクセスすることができます。
3)iノード番号/ルート/ディレクトリで、あなたはiノード情報/ルート/ディレクトリを見つけ、その後、ユーザーがブロック/ルート/ディレクトリへのアクセス権を持っているかどうかを判断することができます。
あなたが権限を持っている場合は4)は、ファイル名とそれに対応するiノード番号をテストするブロック/ルート/ディレクトリから読み取ることができます。
5)テストファイルのinode番号によって、あなたはテストinodeファイルに関する情報を検索し、ユーザーがブロックテストファイルにアクセスする権限を持っているかどうかを判断することができます。
あなたが権限を持っている場合は6)、あなたはこのように、リードアクセス/ルート/テストファイルを完了し、ブロック内のデータを読み取ることができます。
後にし、/ tmp /ディレクトリには、テストおよびテスト・ハード情報、及びこれを確立するブロック/ルート/ディレクトリで、ファイル/ tmp /テスト・ハードのソースファイル/ルート/テストへのハードリンクを確立するために、この手順に従ってください主なメッセージは、ファイル名と対応するiノード番号です。しかし、我々は、我々は関係なく、ファイルアクセスそのうち最終的にiノード番号は、ファイル情報の262 147で訪問し、iノード情報テストおよびテスト・ハードが、実際には同じであるでしょう。

これは、ハードリンクの原理です。次のようにハードリンクの特性がある:
ソースファイル(テストファイル)を変更し、又はハードリンクファイル(テストハードファイル)を変更するかどうか、ファイル内の他のデータが変更されます。
かかわらず、ソースファイルが削除されるの、限り、ファイルが存在するとして、ファイルをリンクファイルを削除するか、ハード(iノード番号は262個の147個のファイルです)すべてにアクセスすることができます。
ハードリンクは、新しいiノード情報を作成しない、それはiノードの合計数は変更されません。
ハードリンクは異なるファイルシステムは、iノード番号が再計算されるため、確立するためのファイルシステム(パーティション)を越えることはできません。
ディレクトリへのハードリンクを確立するかのようにハードリンクは、現在のLinuxの面でハードリンクを確立する必要があるサブディレクトリのすべてのサブフォルダを含め、ディレクトリ自体だけでなく、再確立、すべてのサブファイルディレクトリ必要があり、ディレクトリをリンクすることはできません複雑すぎます。

ハードリンクの制限よりは、ファイルシステム間でもない、ディレクトリをリンクすることはできません、とソースの間でファイルやハードリンクはinode番号以外のファイルは他の明白な機能はありません、同じです。これらの機能は、一般的に、我々はうまく理解し、ハードリンクを作成されていません。

ソフトリンクを作成5.ln

  ソフトリンクおよびソース・ファイルの一貫性のないinode番号によるソフトリンク- >明確ソースファイルの場所を識別
  許可がlrwxrwxrwxソフト繋がるビット、Lは、ソフトリンクファイルを表す
  ソフトリンクロゴは、まず、非常に明確であり、許可ビット「L」は、これはソフトリンクファイルであることを示します。第二に、して、ファイルの後に「 - >」ソースファイルの完全な名前を表示します。ソフトリンクを作成するなどのソフトリンクなど、ハードリンクの制限とは異なり、多くの明らかな兆候として、ハードリンクとソフトリンクはディレクトリをリンクすることができ、ソフトのリンクより、またはパーティション間でそんなに多く。
  ソフトリンクは完全として、その機能やショートカットを治療するには、Windowsのショートカットとして使用することができ
  、主に管理者の習慣の世話をするためのソフトリンク。/ etcディレクトリに置かれ/etc/rc.localファイルの開始以来、例えば、いくつかのシステム、およびこれら2つのファイルが柔らかい構築だけで、その後、/etc/rc.d/rc.localの場所にいくつかのシステムを置きますリンクは、関係なく、あなたが操作を提出するために使用された1、結果は同じではありません。

原則6.ソフトリンクとハードリンクの主な違い

  それ:ハードリンクは、独自のインデックスのinodeとブロック(データブロック)を構築しますが、直接、iノード情報に、ソースファイルをブロックするので、ハードリンクとソースファイルのiノード番号が一致していません。

  ソフトリンクは、実際に自分のiノードインデックスとブロックを構築していきますので、ソフトリンクとソースファイルのiノード番号が矛盾している、とブロックソフトリンクでは、書き込みが実際のデータではなく、ソースファイルのファイル名のみとiノード番号。

  手順と何が違うのソフトリンクにアクセスするためのリンクにアクセスするには、ハードの手順を見てみましょう。
  まず、ルートディレクトリのinodeインデックス情報を検索し、ユーザーがブロックのルートディレクトリにアクセスする権限を持っているかどうかを判断します。
  あなたがブロックのルートディレクトリへのアクセス権を持っている場合は、ブロック内の/ tmp /ディレクトリのinode番号を検索します。
  そして、iノード情報へのアクセスを/ tmp /ディレクトリには、ユーザがを/ tmp /ディレクトリへのアクセスをブロックする権限を持っているかどうかを判断します。
  あなたが権限を持っている場合は、ブロック内のファイルのチェックインソフトinode番号へのソフトリンクを読み込みます。ソフトリンクファイルは、実際に自分自身のインデックスのinodeとブロックを構築していきますので、iノード番号ので、ソフトリンクやソースファイルは同じではありません。
  ファイルへのソフトリンクのiノード番号で、チェックインソフトのファイルのinode情報を見つけ、ユーザーがブロックにアクセスする権限を持っているかどうかを判断します。
  あなたが権限を持っている場合は、ブロックチェックソフト実際のデータファイルを検索しません、単にソースファイルのinode番号を確認してください。
  ソースファイルのinode番号に続いて、アクセス元がiノード情報を確認し、ユーザーがブロックにアクセスする権限を持っているかどうかを決定します。
  あなたが権限を持っている場合、あなたはこのようにデータ・アクセスを完了し、実際のデータにブロックチェックファイルに読み込みます。

  このプロセスを通じて、我々は(正確に同じWindowsのショートカットのリンクとソフトの機能)ソフトリンクの特性を要約することができます。
  1)(チェック)ソースファイルを変更、またはハードリンクされたファイルを(チェックインソフト)を変更するかどうか、別のデータファイルが変更されます。
  2)ソフトリンクを削除し、ソースファイルには影響しません。そして、元のファイルを削除して、ファイルがソフトリンクに存在しないファイルを表示するための実際のデータを見つけることができません。
  3)ソフトリンクはあなた自身のブロックとiノード情報を作成しますが、ブロック内の実際のファイルデータが格納されていない、ソースファイルのファイル名とiノード番号に格納されます。
  4)ソフトリンクはディレクトリをリンクすることができます。
  5)パーティション間でソフトリンク。

 

おすすめ

転載: www.cnblogs.com/xinghen1216/p/11307442.html