ハードリンクとファイルの違いは何ですか?

ハードリンクとファイルの違いは何ですか?

ハードリンクinodeへのポインタとして定義されます。 ㅏソフトリンク、また〜として知られるシンボリックリンク、別のリンクを指す別のファイルとして定義され、ハードリンクの制限は適用されません。

ファイルとハードリンクの違いは何ですか?ハードリンクはinodeを指しますが、ファイルとは何ですか? inodeエントリ自体?それともハードリンクを持つinodeですか?

タッチでファイルを作成するとしましょう。次に、inodeにinodeエントリを作成します。索引ノード表。ファイルと同じinode番号を持つハードリンクを作成しました。では、新しいファイルを作成しましたか?それともファイルはinodeとして定義されていますか?

ベストアンサー1

非常に短い答えは次のとおりです。

  • ファイルは匿名のデータブロックです。
  • ハードリンクはファイル名です。
  • シンボリックリンクは、コンテンツがパス名の特殊ファイルです。

Unixファイルとディレクトリの操作正確に実際のファイルやディレクトリと同じです(そしていいえ良いフォルダ実際の世界では、Unixファイルシステムは(概念的に)次のように構成されています。

  • ファイルは名前がなく、数字のみを持つ匿名データブロックです。
  • ディレクトリは、名前とファイル(より具体的にはinode)のマッピングを含む特別なファイルです。ディレクトリは単なるファイルなので、ディレクトリエントリがある可能性があります。これは再帰が実装される方法です。システム、これいいえ明らかに、当時の多くのオペレーティングシステムでは、ディレクトリにディレクトリを含めることはできませんでした。
  • これらのディレクトリエントリハードリンク
  • シンボリックリンクは、コンテンツがパス名である別の特別な種類のファイルです。パス名は他のファイルの名前として解釈されます。
  • 他のタイプの特殊ファイルはソケット、fifo、ブロックデバイス、キャラクタデバイスです。

これらのたとえ話を念頭に置いて、特にUnixディレクトリは実際のディレクトリと同じように動作することに注意してください。いいえ実際のフォルダと同様に、初心者が頻繁に遭遇する「奇妙な」いくつかのことを説明します。次のように書き込み権限のないファイルを削除できるのはなぜですか?まず、ファイルを削除するのではなく、ファイルのできるだけ多くの名前の1つを削除することになるので、ファイルではなくディレクトリへの書き込み権限を持つだけです。現実の世界と同じように。

それとも、なぜぶら下がっているシンボリックリンクがあるのでしょうか。さて、シンボリックリンクにはパス名のみが含まれます。実際には、その名前のファイルが必要であることを示すものはありません。

私の質問は、ファイルとハードリンクの違いは何ですか?

ファイルとハードリンクの違いは、あなたとあなたの名前を含む電話帳の行の違いと同じです。

ハードリンクはinodeを指しますが、ファイルとは何ですか? inodeエントリ自体?それともハードリンクを持つinodeですか?

ファイルは匿名のデータフラグメントです。それはすべてです。ファイルは inode ではなくファイルです。持つインデックスノードは、社会保障番号ではないかのように持つ社会保障番号。

ハードリンクはファイル名です。ファイル名はいくつでも構いません。

タッチを使用してファイルを生成し、次に Inode アイテムを生成するとします。索引ノード表

はい。

ファイルと同じinode番号を持つハードリンクを作成しました。

いいえ。ハードリンクはファイルではないため、inode番号はありません。ファイルにのみinode番号があります。

ハードリンクは名前をinode番号に関連付けます。

では、新しいファイルを作成しましたか?

はい。

それとも、ファイルはInodeとして定義されていますか?

いいえ。ファイルにはinodeがあります。いいえインデックスノード。

おすすめ記事