In questa breve lezione, vedremo come creare link simbolici (alias) a un dato file o a una cartella, in modo che questi appaiano in piรน luoghi contemporaneamente con nomi (eventualmente) diversi. Per fare tutto ciรฒ, utilizziamo il comando ln (abbreviazione di link).
Indice
Cos’รจ un Link Simbolico?
Un link simbolico (o symlink) รจ un file speciale in Linux che funge da puntatore a un altro file o directory. A differenza di un hard link, che รจ un riferimento diretto ai dati del file sul disco, un link simbolico contiene solo il percorso del file di destinazione. ร simile a un collegamento in Windows.
Quando si accede a un symlink, il sistema segue il percorso memorizzato e apre il file o directory reale.
Il vantaggio principale dei symlink รจ la loro flessibilitร : possono puntare a file o directory situati su filesystem diversi, e la destinazione puรฒ essere modificata o spostata senza alterare il link stesso (anche se diventa โrottoโ finchรฉ la nuova destinazione non viene aggiornata).
I link simbolici sono utili per creare alias per percorsi lunghi, organizzare file senza duplicarli o mantenere compatibilitร tra vecchi e nuovi percorsi durante una ristrutturazione del filesystem.
La sintassi per la creazione e di un link simbolico รจ la seguente:
ln -s [destinazione] [link].
Esempio Pratico: Creare un Link Simbolico
Facciamo subito un esempio: supponiamo di voler creare un link simbolico nella root del nostro sistema Linux per il file agenda, che si trova nella cartella /lavoro/mieidati/.
cd /
ln -s /lavoro/mieidati/agenda mia_agenda
Esaminiamo cosa abbiamo fatto:
- Con cd / ci siamo spostati nella cartella radice.
- Poi, con ln -s, abbiamo creato un link simbolico al file /lavoro/mieidati/agenda, a cui abbiamo assegnato il nome di mia_agenda.
Da questo momento, potremo richiamare il file agenda (che si trova fisicamente nella directory /lavoro/mieidati/) direttamente dalla root del sistema digitando semplicemente mia_agenda.
ร importante notare che possiamo lavorare con questo collegamento esattamente come se fosse un file reale. Tuttavia, cancellando l’alias non verrร cancellato nemmeno il file reale!
Distinguere Link Simbolici da File Reali
Un’ultima cosa: molti potrebbero chiedersi come distinguere un alias da un file reale?
Possiamo farlo semplicemente utilizzando il comando:
ls -l
Questo comando ci mostrerร chiaramente che gli alias si distinguono dai file reali, in quanto viene specificato per essi il percorso esatto del file linkato.
Ulteriori Opzioni del Comando ln
Per concludere, รจ opportuno precisare che il comando ln prevede altre opzioni oltre a -s. Tuttavia, limiterรฒ la mia discussione a questa opzione, poichรฉ sicuramente si tratta della piรน frequentemente utilizzata, mentre le altre sono utilizzate piuttosto di rado.