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