2011-10-05 03:28:14 +0000 2011-10-05 03:28:14 +0000
412
412

"ディレクトリジャンクション」と「ディレクトリシンボリックリンク」の違いは?

NTFS の場合:

MKLINK [[/D] | [/H] | [/J]] Link Target

/D ディレクトリシンボリックリンクを作成します。 /H シンボリックリンクの代わりにハードリンクを作成します。 /J ディレクトリジャンクションを作成します。 このような場合には、「ディレクトリ」はシンボリックリンクではなく、「ディレクトリジャンクション」を作成します。ディレクトリ」は実際には単なるfileなので、ディレクトリシンボリックリンクとファイルシンボリックリンクの違いは何でしょうか?

回答 (3)

382
382
382
2011-10-05 03:43:56 +0000

ジャンクションとディレクトリシンボリックリンクは似たような動作をしますが、間違いなく同じものではありません。主な違いは、リモートサーバを見ている場合、ジャンクションはサーバで処理され、ディレクトリシンボリックリンクはクライアントで処理されるということです。また、これはローカルファイルシステム上のシンボリックリンクがリモートファイルシステムを指すことができることを意味しています。アリスを使っている間は、両者の違いに気づかないでしょう。しかし、Bob という名前の別のマシンを使っている場合、分岐点

c:\myjpc:\mysymlink

を指していますが、シンボリックリンク

c:\targetfolder\Alice\c$\myjp

を指しています (注意: デフォルトでは、システムはリモートボリュームのシンボリックリンクを追跡しません。 “_)

ディレクトリシンボリックリンクとファイルシンボリックリンクの違いは、単純に 1 つはディレクトリを表し、もう 1 つはファイルを表すということです。

シンボリックリンクの作成には特別な権限が必要なのに対し、ジャンクションの作成にはファイルシステムへのアクセスのみが必要であることにも注意が必要です。

65
65
65
2015-10-22 19:03:16 +0000

複雑な話は脳を痛めます – 私はチャートが好きです:

任意の MyLink がシンボリックリンクであり、任意の MyJuncTarget as created を指すジャンクションであると仮定します。ターゲットディレクトリへのシンボリックリンクを作成するための

mklink /D MyLink C:\T_Dir ターゲットディレクトリへのディレクトリジャンクションを作成するための

どこで構文はローカルマシンでタイプされたようにmklink /J MyJunc C:\T_Dirである


link path | target path | When accessed ..
              | | (locally) | (remotely)
              | | |
C:\MyLink | C:\T_Dir | C:\T_Dir | [leads back to local]
C:\MyJunc | C:\T_Dir | C:\T_Dir | [leads to remote]
              | |
\Svr\MyLink | C:\T_Dir | C:\T_Dir | [leads back to local]
\Svr\MyJunc | C:\T_Dir | ***Must create and point local***
              | |
C:\MyLink | \Sv2\T_Dir | \Sv2\T_Dir | Error*1
C:\MyJunc | \Sv2\T_Dir | ***Error - Must point local***
              | |
\Svr\MyLink | \Sv2\T_Dir | Error*1
\Svr\MyJunc | \Sv2\T_Dir | ***Must create link using target device***

エラー*1 - あなたのローカルマシン上のリモートシンボリックリンクへのアクセスのブロックを解除した場合、これは動作します…しかし、それがブロックされていないローカルマシン上でのみ

55
55
55
2018-02-02 16:30:06 +0000

シンボリックリンクはより多くの機能を持っていますが、ジャンクションはその制限のためにレガシー機能のように見えますが、この制限のセキュリティ上の意味合いから、シンボリックリンクよりもジャンクションの方が好まれるかもしれません。*リモートターゲティングはシンボリックリンクをより機能的にしますが、セキュリティプロファイルも高くなります。ですから、ローカルリンクが必要で、絶対パスがあれば、ジャンクションの方が良いでしょう。そうでなければ、シンボリックリンクの追加機能を検討してください。 * ¶


Other NTFS Link Comparisons

ここでは、このトピックに関するいくつかの他の比較がありますが、ジャンクションを検討する際に誤解を招く可能性があるので、上に挙げた利点をリストアップしていません。 ここから撮影 (良い入門的な読み物)

から MKLink の SS64 ページ


用語についてのコメント

ジャンクションはシンボリックリンクです

ジャンクションとシンボリックリンクは実際に同じ方法で同じことをしています (reparse ポイント)。は、前述の処理方法の違いはさておき。実際、技術的には、ジャンクションはシンボリックリンクであり、ドキュメントではジャンクションをシンボリックリンクと呼ぶこともあります。このように、用語に関しては注意が必要です。

NTFS

OPで指定されているとはいえ、"シンボリックリンク “は非常に一般的な用語であり、NTFSに特化したものではないことは指摘しておく価値があります。つまり、この比較は NTFS ジャンクションと NTFS シンボリックリンクについてのものです。