Ci sono due concetti di collegamento nei sistemi operativi in stile Unix, incluso Linux, solitamente chiamati "collegamenti fisici" ("hard link") e "collegamenti simbolici" ("symlink/soft link"):

Collegamenti simbolici (symlink)

Un symlink è un collegamento simbolico, un alias o scorciatoia per un programma o file.

È un file speciale esistente nel file system che punta ad un altro file o directory. Se si accede al collegamento simbolico da un'applicazione, esso risulta trasparente per l'applicazione e si accederà in effetti al file o alla directory al quale il collegamento simbolico punta.

Si tratta di uno speciale tipo di file che contiene un percorso ad un altro file. Il tipo di file nel suo inode indica che è un collegamento simbolico. Quando si tenta di accedere ad esso con un editor di testo o un altro programma, il kernel reindirizza il programma al file indicato dal percorso del collegamento simbolico. A differenza dei collegamenti fisici, i collegamenti simbolici possono essere creati attraverso differenti file system. Per creare un collegamento simbolico si utilizza il comando ln con l'opzione -s.

L'utilità symlinks esegue la manutenzione dei collegamenti simbolici controllando la presenza di problemi, compresi i collegamenti simbolici che puntano a file inesistenti. Può inoltre convertire automaticamente i collegamenti simbolici assoluti in collegamenti simbolici relativi. Installare il pacchetto symlinks se si necessita di un programma per la manutenzione dei collegamenti simbolici nel proprio sistema.

Anche se un collegamento simbolico si presenta con i permessi e utente/gruppo del proprietario, i diritti di accesso sono determinati solo dai permessi del file originale!

Creazione di un collegamento simbolico:

ln -s <file o directory di destinazione> <nome del collegamento> 

Eliminazione di un collegamento simbolico senza disturbare il file o la directory a cui punta:

rm <nome del collegamento simbolico>

Collegamenti fisici (hard link)

I dati/file effettivi vengono eliminati dal disco solo quando l'ultimo collegamento fisico/nome di file che punta ad essi viene rimosso. Il numero dei nomi viene indicato da ls(1). Non esiste un nome file "originale": tutti i nomi di file hanno la stessa importanza. Solitamente, ma non necessariamente, tutti i nomi di un file sono nel ?file system che contiene anche i suoi dati. La maggior parte dei file system non gestisce collegamenti fisici a directory.

Creazione di un collegamento fisico:

ln <file o directory di destinazione> <nome del collegamento fisico>

Eliminazione di un collegamento fisico senza disturbare altri collegamenti fisici che puntano allo stesso file:

rm <nome del collegamento fisico>

Collegamenti esterni


CategorySystemAdministration | CategoryStorage