Разница между MKLINK /D и /J (символическая связь и соединение)

У меня есть SSD и RamDisk в другом дисководе. я использую MKLINK /D перенести кеш Google Chrome с моего SSD на мой RamDisk. Пожалуйста, мои вопросы:

  1. С MKLINK /Dгде физически находится мой кеш? SSD? RamDisk? И то и другое? Я перемещаю кеш на мой RamDisk? Или просто дублировать кеш на моем SSD и RamDisk? Я спрашиваю, потому что одинаковые файлы и папки появляются на обоих дисках (SSD и RamDisk).

  2. Есть ли MKLINK /D работать с файлами, папками и подпапками? Только один MKLINK /D достаточно для каждого файла, папки и подпапки по этой символической ссылке? Файлы, папки и подпапки физически собираются в SSD или RamDisk?

  3. Должен ли я использовать MKLINK /J? В моем случае какая техническая разница используется MKLINK /D или же MKLINK /J?

Спасибо!

PS1: я уже погуглил вопрос, но очень запутался.

PS2: меня не интересует решение --disk-cache-dir="x:".

1 ответ

Решение

Если вы бежите mklink /? вы получите информацию, которая используется для создания символической ссылки. В то время как /J Переключатель сделает это соединение вместо ссылки. Чтобы увидеть различия, вы можете проверить вопрос: в чем разница между точками соединения NTFS и символическими ссылками? или информация в Википедии.

В обоих случаях файлы не будут существовать в двух точках одновременно, но вы будете перенаправлены на другую точку, получив доступ к одной из них. Поэтому, установив символическую ссылку на каталог, вы просто получите доступ к другому местоположению. Таким образом, кеш остается только на вашей цели (ваш RAM-диск).

Простой пример:

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

Результатом будет файл с именем test.txt в вашем target папка, пока нет ссылки на нее. Так что cd linkname потерпит неудачу

Другие вопросы по тегам