Windows 7:ハードリンク、シンボリックリンク、ジャンクション[複製]


回答:


30

ほとんどの人がシンボリック(またはソフト)リンクを理解する最も簡単な方法は、それをWindowsショートカットと考えることです。

ファイルへのシンボリックリンクを作成する場合、ファイルを開くと、Windowsはファイルシステムインデックスで元のファイルを検索し、それを開きます。シンボリックリンクは、元のファイルへの道しるべと考えることができます。

ハードリンクとは、ディスク上の元のファイル名と同じ場所を指すファイルシステムインデックス内の追加エントリです。元の名前とハードリンクは、同じ部屋への2つのドアと考えてください。

ジャンクションは、フォルダーへのシンボリックリンクです(これは以前のバージョンのWindowsからの二日酔いであり、現在は廃止されていると思います-今はハードリンクを使用できることを前提にしていますが、チェックしていません)。


 ただし、フォルダー « への » ハードリンクに対して -1を取得する必要が  あります。
ジョーイ

おっと、はい、それらはハードリンクではなくシンボリックリンクです。それに応じて修正しました。新しいmklinkコマンドは、ジャンクションおよびハードリンクとソフトリンクの作成を引き続きサポートしていますが、リンクではなくジャンクションを使用する理由はわかりません。
ニール

実際、ドキュメントには、ハードリンクフォルダに適用できると書かれています。誰かがそれを行う方法を見つけ出すまでは時間の問題です。
Hello71

10
ハードリンクは同じパーティション(ドライブ)上のターゲットのみを指すことができますが、あるパーティションのジャンクションは別のパーティションのターゲットを指すことができるため、ジャンクションは廃止されず、ハードリンクはジャンクションを置き換えることができません。この投稿の説明は非常に役立ちました。
オラッド

1
シンボリックリンクよりもハードリンクを使用する場合、またはその逆の場合はいつですか。
ニコベッリック

11

ディレクトリジャンクションは「ディレクトリへのシンボリックリンク」であるため、NTFS 5.0(Windows 2000)以降で使用可能なフォルダへの「アクセスポイント」を作成できます。ジャンクションは存在しないディレクトリを指すことができるため、ディレクトリジャンクションは「フォルダへのハードリンク」ではありません。ディレクトリとそのジャンクションは、異なるNTFSパーティションに配置できますが、LANを介して配置することはできません。昇格していない管理者とユーザーはジャンクションを作成できます。

NTFSシンボリックリンクは、Windows VistaのNTFSに追加されました。シンボリックリンクは、ファイルまたはディレクトリを指すことができます(ジャンクションと比較してください)。それらを使用して、異なるNTFSパーティションおよびLAN上のファイルおよびフォルダへの「アクセスポイント」を作成できます。「Windows Vistaのデフォルトのセキュリティ設定では、昇格した管理者およびすべての非管理者がシンボリックリンクを作成することは許可されていません。」

「ディレクトリへのシンボリックリンク」と「ディレクトリジャンクション」-私の経験では、一部の(多くの?)アプリはシンボリックリンクで正しく動作しませんが、ジャンクション、たとえばTotal CommanderやWindowsファイル共有(LAN用)では問題ありません。ディレクトリをシンボリックリンクと共有する場合-LANユーザーはそのディレクトリを通過できませんが、ジャンクションに対しては実行できます。そのため、Win2kで高品質を実現した後、MSはVistaにいくつかの機能を実装しました...

ハードリンクは同じパーティション内のファイルのみを指すことができます。最初のファイルインスタンスと同じファイルへの他のハードリンクに違いはまったくありません。ハードリンク(最初のインスタンスまたは別のインスタンス)を削除すると、最後のハードリンクが削除されない限り、ファイルは存在し続けます。

ジャンクションとシンボリックリンクは「壊れている」可能性があります。ターゲットの名前を変更/移動すると、存在しないターゲットを指します。そのため、そのような場合にはそれらを更新する必要があります。ただし、ハードリンクされたファイルは名前を変更したり移動したりできますが、すべてのハードリンクは名前が異なるだけで同じファイルのままです。


ここでは±1、ディレクトリジャンクションがハードリンクではないことを正しく示すために+1、下り坂に進む3番目の段落に対して-1。(記録用:Farはディレクトリシンボリックリンクをうまく通過できます。たぶん、壊れたOFMを使用しているだけかもしれません:-)。)
Joey

3
追加する注:ハードリンクは、パーティションと同じではない同じボリューム上のファイル指すことができます(パーティションは個々のドライブのセクションであり、ボリュームはそれらの多く、さらには複数のドライブにまたがることができます;ボリュームはパーティションではなくファイルシステムがオンになってます)。
ジョーイ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.