back to top

Creare link simbolici verso file e cartelle in Linux: ln

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).

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.

Pubblicità

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].

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!

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.

Pubblicità
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).