TAGS CLOUD
Incrementa dimensioniDecrementa dimensioni
Link simbolici e hard link
L'utilizzo dei link (collegamenti) è molto diffuso in ambito GNU/Linux. In particolare perché forniscono un sistema elegante ed efficiente per collegare virtualmente un file ad un altro o una directory ad un altra, rendendo così più flessibile la struttura del file system e perché no, più agevole la navigazione al suo interno. Possono essere di due tipi: symlink (detti anche softlink) e hardlink. Sebbene apparentemente simili, essi presentano alcune differenze che ne rendono adatto l'utilizzo in ambiti molto diversi. La differenza più evidente è che un link simbolico (il symlink in italiano) si collega a un determinato file esistente o a una directory ai quali l'utente può fare riferimento mediante il link stesso, ma, qualora il file originale venisse distrutto, il collegamento non “punterà” più a nessun contenuto valido. Al contrario, l'hardlink è una vera e propria copia del file originale, e continuerà ad “esistere” anche dopo la sua distruzione. Purtroppo, quest'ultimo non può essere utilizzato per creare collegamenti a directory. Nell'esempio che segue creeremo un semplice file di testo (link) e subito dopo un link simbolico ad esso collegato (link_soft):

echo “File di prova per
lavorare sui link” > link ln -s link link_soft
A questo punto, utilizzando il comando ls -la possiamo notare che il link ha dimensioni ridotte al minimo, indipendenti dalle dimensioni del file originale. Per creare un link hard, invece, basta omettere lo switch -s, come abbiamo fatto di seguito:
ln link link_hard
Anche in questo caso, utilizzando il comando ls -la è possibile analizzare il file. La differenza più evidente è che in questo secondo caso il collegamento ha dimensioni pari all'originale. Bisogna fare attenzione a una cosa però: cancellando il file sorgente ci accorgeremo subito che il collegamento soft risulterà vuoto mentre in quello hard avremo ancora la riga scritta in precedenza. Prima però di cancellare i file è interessante digitare il comando ls con l'opzione -i che mostra gli inode relativi al file. Ebbene, il link di tipo hard presenta gli stessi inode del file originale e questo significa che la sua copia non occupa realmente spazio su disco.
Lascia un commento
Tag: link, simbolici, link, hard, utilizzo
Condividi