Questo breve post spiega cosa sono i link e la differenza tra link simbolici (soft) e hard link. Un collegamento è un meccanismo che consente a più nomi di file di fare riferimento a un singolo file su disco. Esistono due tipi di link:
1. collegamenti reali.
2. link simbolici (soft).
Collegamenti reali
– Un hard link associa due (o più) nomi di file a un inode.
– Gli hard link condividono tutti gli stessi blocchi di dati del disco mentre funzionano come voci di directory indipendenti.
– Gli hard link potrebbero non estendersi su partizioni del disco, poiché i numeri di inode sono univoci solo all'interno di un determinato dispositivo.
Link simbolici
– Un collegamento simbolico è un tipo di file speciale che punta a un altro file.
– Il contenuto di questo file speciale è il nome del file a cui punta.
– I collegamenti simbolici vengono creati da “ln -s Comando “”.
– Una volta eliminato un file a cui punta un collegamento simbolico, il collegamento punta ancora ad esso, lasciando un collegamento sospeso.
– È possibile utilizzare il comando trova per individuare i collegamenti simbolici :
# find ./* -type l -ls
Esempi
1. Considera un file "esempio" a cui è presente un collegamento fisico "hlink" e un collegamento simbolico "slink". Controlla il contenuto della directory per il file 'esempio':
$ ls -li example 17920190 -rw-rw-r--. 1 user user 0 Nov 18 03:19 example
2. Il comando per creare un collegamento fisico a "esempio" è:
$ ln example hlink
3. Comando per creare un collegamento simbolico a 'esempio':
$ ln -s example slink
4. Ricontrolla il contenuto della directory:
$ ls -li 17920190 -rw-rw-r--. 2 user user 0 Nov 18 03:19 example 17920190 -rw-rw-r--. 2 user user 0 Nov 18 03:19 hlink 16836022 lrwxrwxrwx. 1 user user 7 Nov 18 03:21 slink -> example
Si noti che sia "example" che "hlink" si riferiscono allo stesso inode, ma "slink" si riferisce a un inode diverso.
Differenza tra hard link e soft link
Ecco una breve tabella di confronto tra soft link e hard link.
Parametro | Collegamento software | Collegamento fisico |
---|---|---|
Lunghezza | Lo stesso nome del file originale | La stessa lunghezza del file originale |
Inode | nuovo inode | Come il file originale |
Restrizioni | Nessuno | Stesso file system; non può essere una directory |
Spazio | Nome lunghezza più inode | Voce nella directory |
Rispetto a | Diverso | Lo stesso |
Originale eliminato | Il file originale rimane | Il file rimane fino all'eliminazione dell'ultimo collegamento |