Quando devo utilizzare i collegamenti fisici anziché i collegamenti diretti?


10

Sto per iniziare a giocherellare, mklinkma sto ancora cercando di ottenere una vera presa su tutto questo "collegamento simbolico". In particolare, ho notato che ci sono due tipi di link - "soft link" e "hard link" - ma sto facendo fatica a capire veramente la differenza tra i due, o perché dovrei preferire uno rispetto all'altro per qualsiasi dato caso d'uso.

Il massimo che sono riuscito a raccogliere finora è questo:

  • I soft link sono trattati come puntatori al file / cartella di destinazione.
  • I collegamenti fisici vengono trattati come se fossero effettivamente il file / la cartella di destinazione.

Cosa significa veramente in termini di come il sistema operativo e le applicazioni tratteranno i collegamenti? Quali fattori devono essere valutati quando si decide se utilizzare l'uno o l'altro?

Il caso d'uso attuale è per far sincronizzare SkyDrive file / cartelle che si trovano all'esterno della directory SkyDrive effettiva . Tuttavia, preferirei che le risposte includessero anche linee guida generali per riferimenti futuri.

Risposte:


6

È possibile avere softlink penzolanti, poiché un softlink è un puntatore a un file.

Non è possibile avere hardlink penzolanti. Ogni file ha almeno un collegamento fisico, ovvero una voce di directory nel filesystem. Pertanto, se si crea un file, quindi un collegamento fisico ad esso e quindi si elimina il file originale, il collegamento fisico non sarà interessato.

Per questo motivo, i collegamenti fisici possono farti credere quando hai eliminato un file che è veramente andato, anche se a meno che non elimini TUTTI i collegamenti fisici, il file esisterà comunque. Il più delle volte si desidera utilizzare i softlink a meno che non si desideri sfruttare questo aspetto specifico dei hardlink.


Quindi, un'interpretazione metaforica appropriata sarebbe che un soft link è solo un collegamento a un file mentre un hard link è una copia sincronizzata del file?
Iszi,

Bene ... tieni presente che un hardlink non crea una copia aggiuntiva dei dati del file. È un'altra voce della directory fisica. Quindi due collegamenti a un file non modificheranno molto lo spazio su disco utilizzato.
LawrenceC

Se sei esperto di concetti di programmazione, pensa a un soft-link come un puntatore tradizionale e hard-link come un puntatore conteggio di riferimento (intelligente).
Paddy,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.