Diferença entre MKLINK / D e / J (link simbólico e junção)

1

Eu tenho um SSD e um RamDisk em outra unidade de disco. Eu uso MKLINK /D para mover o cache do Google Chrome, do meu SSD para o meu RamDisk. Por favor, minhas perguntas são:

  1. Com MKLINK /D , onde fisicamente é meu cache? SSD? RamDisk? Ambos? Eu estou movendo o cache para o meu RamDisk? Ou apenas duplicando o cache no meu SSD e RamDisk? Eu pergunto porque os mesmos arquivos e pastas aparecem em ambas as unidades (SSD e RamDisk).

  2. O MKLINK /D funciona com arquivos, pastas e subpastas? Apenas um MKLINK /D é suficiente para cada arquivo, pasta e subpasta sob este link simbólico? Arquivos, pastas e sub-pastas estarão fisicamente no SSD ou no RamDisk?

  3. Devo usar MKLINK /J ? No meu caso, qual é a diferença técnica usando MKLINK /D ou MKLINK /J ?

Obrigado!

PS1: Eu já pesquisei o problema, mas é muito confuso.

PS2: Eu não estou interessado na solução --disk-cache-dir="x:".

    
por Esther Moellman 14.02.2017 / 21:18

1 resposta

0

Se você executar mklink /? , obterá as informações usadas para criar um link simbólico . Enquanto a opção /J faria uma junção em vez de um link. Para obter uma visualização das diferenças, você pode verificar a pergunta Qual é a diferença entre os Pontos de Junção NTFS e os Links Simbólicos? ou as informações em Wikipedia .

Em ambos os casos, os arquivos não existiriam em dois pontos ao mesmo tempo, mas você seria redirecionado para o outro ponto acessando um deles. Então, ao configurar um link simbólico para um diretório, você simplesmente acessaria outro local. Como tal, a cache permanece apenas no seu destino (o seu disco RAM).

Um exemplo simples:

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

O resultado será um arquivo chamado test.txt na sua pasta target enquanto não houver mais um link para ele. Então, um cd linkname falharia.

    
por 15.02.2017 / 13:07

Tags