Crea sito

Creare link simbolici verso file e cartelle: comando ln

2 / 100

Creare link simbolici verso file e cartelle ln

In questa breve lezione vedremo come creare alias (o link simbolici) ad un dato file o ad una data cartella, in modo che questo appaia in più luogi contemporaneamente con nomi (eventualmente) diversi. Per fare tutto ciò utilizziamo il comando ln (abbreviazione di link, appunto).
Facciamo subito un esempio: poniamo di voler creare un link simbolico nella root del nostro sistema Linux del file “agenda” che si trova nella cartella “/lavoro/mieidati/”
cd /ln -s /lavoro/mieidati/agenda mia_agenda
Vediamo cosa abbiamo fatto:
con cd / ci siamo spostati nella cartella radice
poi con ln -s abbiamo creato un link simbolico al file (di cui specifico il percorso) /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 sito semplicemente digitando “mia_agenda“.
La cosa bella è che sarà possibile lavorare con questo collegamento esattamente come fosse un file reale.
Tuttavia è opportuno precisare che cancellando l’alias NON viene cancellato anche il file reale!
Un ultima cosa: molti potrebbero chiedersi come distinguere un alias da un file reale… beh, semplicemente utilizzeremo:
ls -l
Così facendo vedrete chiaramente che gli alias si distinguono dai file reali anche e soprattutto in quanto è specificato per essi il percorso esatto del file linkato.
Per concludere ritengo opportuno precisare che il comando in questione prevede altre opzioni oltre a “-s“, tuttavia ritengo opportuno limitarmi a questa dato che, sicuramente, si tratta della più frequentemente utilizzata a differenza delle altre utilizzate piuttosto di rado.

ln [<opzioni><origine>... <destinazione>

Crea uno o più link di file (incluse le directory) in una unica destinazione.
<!>   La creazione di un link è una azione simile a quella della copia. Di conseguenza valgono le stesse considerazioni fatte in occasione del comando cp per quanto riguarda la differenza di comportamento che c’è tra Unix e Dos.
Se vengono specificati solo i nomi di due file normali, il secondo diventa il link del primo. Se il secondo nome indicato è una directory, al suo interno verranno creati altrettanti link quanti sono i file e/o directory indicati come sorgente. I nomi utilizzati saranno gli stessi dei sorgenti. Se vengono indicati più file, l’ultimo nome deve essere una directory.
È ammissibile la creazione di link che fanno riferimento ad altri link.
Si possono creare due tipi di linkhard e simbolici. Questi ultimi sono da preferire. Se non viene richiesto diversamente attraverso le opzioni, si generano degli hard link invece che i consueti link simbolici.
Alcune opzioni

-s

Crea un link simbolico.
Esempi

$ ln -s /test/* ~/prova

Crea, nella destinazione ~/prova, una serie di link simbolici corrispondenti a tutti i file e/o directory contenuti in /test.

$ cp -s /test ~/prova

Crea, nella destinazione ~/prova, un link simbolico corrispondente al file o alla directory /test. Se ~/prova è una directory, viene creato il link ~/prova/test; se ~/prova non esiste, viene creato il link ~/prova.
Translate »