In Linux / Unix, i collegamenti sono conosciuti come Collegamenti
I collegamenti sono di due tipi: collegamenti software (collegamenti simbolici) o collegamenti fisici.
-
Collegamenti software (collegamenti simbolici)
È possibile creare collegamenti a file e directory e creare collegamenti (collegamenti) su partizioni diverse e con un numero di inode diverso dall'originale.
Se la copia reale viene eliminata, il link non funzionerà .
-
Collegamenti duri
Gli hard link sono solo per i file; non puoi collegarti a un file su una partizione diversa con un numero di inode diverso.
Se la copia reale viene eliminata, il link funzionerà , perché accede ai dati sottostanti a cui la copia reale stava accedendo.
Domanda: come faccio a creare un collegamento software?
Risposta: è possibile creare un collegamento software con ln -s
; per prima cosa è necessario definire la fonte e quindi è necessario definire la destinazione. (Ricorda che è necessario definire i percorsi completi sia di origine che di destinazione, altrimenti non funzionerà.)
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib32/libGL.so.1
(----------Source-------) ( Destination )
Come puoi vedere, ha un inode diverso e può essere creato su una partizione diversa.
Domanda: come faccio a creare un link fisso?
Risposta: È possibile creare un collegamento fisico con ln
; per prima cosa è necessario definire la fonte e quindi è necessario definire la destinazione. (Ricorda che è necessario definire il percorso completo sia di origine che di destinazione, altrimenti non funzionerà.)
Diciamo che ho uno script nella directory /script
chiamata firefox
.
ls -i # Shows you the inode
5898242 firefox
ln /scripts/firefox /scripts/on-fire
( Source ) ( Destination )
Come puoi vedere, ha lo stesso inode. Se cancello quello originale il link funzionerà, e funzionerà come l'originale.
In alto, controllo che il collegamento funzioni e quindi elimini lo script firefox originale.
Domanda: Sarebbe bello se qualcuno potesse fornire un'impostazione in cui il collegamento fisico potrebbe essere preferibile su un collegamento simbolico.
Risposta strong>: a seconda del layout della partizione del disco, i Collegamenti duri hanno la limitazione che devono essere sulla stessa partizione (-1 punto) e può solo collegare a file (-1 punto) ), ma +1 punto se l'originale viene eliminato il collegamento funzionerà e si comporta come l'originale.
D'altra parte, un collegamento software può puntare a directory o file (+1 punto) e non vi è alcuna limitazione della partizione (+1 punto), ma (-1 punto) se l'origine viene eliminato il collegamento non funzionerà.