Quali sono i vantaggi dei symlink rispetto ai collegamenti reali e viceversa?


Risposte:


10

Questo è stato discusso in dettaglio su ServerFault.

Un hard link tradizionalmente condivide le stesse strutture del file system (inode in unixspeak), mentre un soft-link è un reindirizzamento del percorso.

  • Gli hardlink devono essere sullo stesso filesystem, i softlink possono attraversare i filesystem.
  • I file con collegamento fisso rimangono collegati anche se si sposta uno di essi (a meno che non si sposti uno su un altro file system attivando il meccanismo di copia ed eliminazione). I file con collegamento software si interrompono se si sposta la destinazione (originale) e talvolta quando si sposta il collegamento (è stato utilizzato un percorso assoluto o relativo? È ancora valido?).
  • I file hardlinked sono uguali, mentre l'originale è speciale nei softlink e l'eliminazione dell'originale elimina i dati. I dati non scompaiono fino a quando non vengono eliminati tutti gli hardlink.
  • I softlink possono puntare a qualsiasi target, ma la maggior parte dei sistemi operativi / filesystem non consente le directory hardlinking per impedire cicli nel grafico del filesystem (ad eccezione delle voci .e ..nelle directory unix che sono hard link).
  • I softlink possono richiedere un supporto speciale dagli strumenti per camminare sul filesystem. Leggi su readlink (2) .

(Alcuni dettagli mi vengono in mente da mat1t . Grazie.)


10

Ronald ha scritto che un collegamento fisico può avere autorizzazioni diverse in due punti. Questo non è giusto. Entrambi i posti condividono lo stesso inode. Le autorizzazioni sono legate all'inode, non al nome file. Quindi i collegamenti in due punti hanno esattamente le stesse autorizzazioni, i tempi di accesso, ...


1

i collegamenti simbolici possono attraversare i file system, i collegamenti fisici no. Se elimini il file originale, il collegamento fisico lo mantiene ancora in vita, un collegamento simbolico no.


0

Un collegamento reale significa essenzialmente che il file vive in due posizioni, può avere autorizzazioni diverse, puoi eliminarlo sul posto ma non l'altro.

Un soft link è solo un puntatore alla cosa reale.

Un collegamento reale è costituito da due (o più) voci di directory che puntano allo stesso file. Un collegamento software è una voce della directory che punta a un'altra voce della directory.

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.