web-dev-qa-db-ja.com

MKLINK / Dと/ Jの違い(シンボリックリンクとジャンクション)

SSD、および他のディスクドライブにRamDiskを持っています。私はMKLINK /Dを使用してGoogle Chromeキャッシュ、SSDからRamDiskに移動します。私の質問は次のとおりです。

  1. MKLINK /Dでは、キャッシュは物理的にどこにありますか? SSD? RamDisk?両方とも?キャッシュをRamDiskに移動していますか?または、SSDとRamDiskのキャッシュを複製するだけですか?両方のドライブ(SSDとRamDisk)に同じファイルとフォルダーが表示されるので、お願いします。

  2. MKLINK /Dはファイル、フォルダ、サブフォルダで機能しますか?このシンボリックリンクの下のすべてのファイル、フォルダー、およびサブフォルダーに対して1つのMKLINK /Dで十分ですか?ファイル、フォルダー、およびサブフォルダーは、SSDまたはRamDiskに物理的に配置されますか?

  3. MKLINK /Jを使用する必要がありますか?私の場合、MKLINK /DまたはMKLINK /Jを使用する技術的な違いは何ですか?

ありがとう!

PS1:私は既に問題をググりましたが、非常に混乱しています。

PS2:--disk-cache-dir = "x:"ソリューションには興味がありません。

3
Esther Moellman

mklink /?を実行すると、 シンボリックリンク の作成に使用されたという情報が得られます。 /Jスイッチを使用すると、リンクではなくジャンクションになります。違いを確認するには、質問 NTFSジャンクションポイントとシンボリックリンクの違いは何ですか? または Wikipedia の情報を確認してください。

どちらの場合も、ファイルは一度に2つのポイントに存在せず、どちらか一方にアクセスすることで別のポイントにリダイレクトされます。したがって、ディレクトリのシンボリックリンクを設定すると、別の場所にアクセスするだけで済みます。したがって、キャッシュはターゲット(RAM disk))にのみ残ります。

簡単な例:

mkdir target
mklink /D linkname target
echo "This is a test" > linkname/test.txt
rmdir linkname
dir target

その結果、targetフォルダーにtest.txtという名前のファイルが作成され、そのファイルへのリンクはなくなります。したがって、cd linknameは失敗します。

1
Seth