Introduzione

Un collegamento simbolico, noto anche come collegamento simbolico o soft link, è un tipo speciale di file che punta a un altro file o directory.

In questa guida, vedremo come utilizzare il comando ln per creare collegamenti simbolici.

Tipi di collegamenti

Esistono due tipi di collegamenti nei sistemi Linux / UNIX:

  • Hard links. Gli Hard links associano due o più nomi di file allo stesso inode . È possibile creare uno o più hard links per un singolo file. Non è possibile creare hard links per directory e per un file su un file system o una partizione diversa.
  • Soft links . Il soft link è qualcosa di simile a un collegamento in Windows. È un puntatore indiretto a un file o una directory. A differenza di un hard link, un collegamento simbolico può puntare a un file o una directory su un diverso file system o partizione.

Come utilizzare il comando ln

Il comando ln è un utility per la creazione di collegamenti tra file. Per impostazione predefinita, il comando ln crea degli hard links. Per creare un collegamento simbolico utilizzare l' opzione -s  che sta per --symbolic.

La sintassi del comando ln è la seguente:

ln [OPTIONS] FILE LINK

Come creare collegamenti simbolici

Per creare un collegamento simbolico su Linux, aprire il terminale e digitare il seguente comando:

ln -s nome_file symbolic_link

Sostituire nome_file con il nome del file esistente per il quale si desidera creare il collegamento simbolico e symbolic_link con il nome del collegamento simbolico.

Il parametro symbolic_link è facoltativo. Se non si specifica il collegamento simbolico, il comando ln creerà un nuovo collegamento nella directory corrente.

Come creare collegamenti simbolici ai file

Nel seguente esempio creiamo un collegamento simbolico denominato link.txt in un file denominato file.txt:

ln -s file.txt link.txt

Per verificare che il collegamento simbolico sia stato creato correttamente, utilizzare il comando ls

ls -l link.txt

L'output sarà simile al seguente:

lrwxrwxrwx 1 noviello users  2 Set  2 22:04  link.txt -> file.txt

L'opzione -l è un flag di tipo file che rappresenta un collegamento simbolico. Il simbolo -> mostra il file a cui punta il collegamento simbolico.

Come creare collegamenti simbolici alle directory

Il comando per la creazione di un collegamento simbolico a una directory è lo stesso della creazione di un collegamento simbolico a un file. Specificare il nome della directory come primo parametro e il collegamento simbolico come secondo parametro.

Ad esempio, se si desidera creare un collegamento simbolico dalla directory /mnt/drive/music alla directory /music, digitare il seguente comando:

ln -s /mnt/drive/musics ~/music

Come sovrascrivere i collegamenti simbolici

Se si tenta di creare un collegamento simbolico già esistente , il comando ln stamperà un messaggio di errore.

ln -s file.txt link.txt
ln: failed to create symbolic link 'link.txt': File exists

Per sovrascrivere il percorso di destinazione del collegamento simbolico utilizzare l' opzione -f che sta per --force.

ln -sf file.txt link.txt

Come rimuovere dei collegamenti simbolici

È possibile eliminare / rimuovere un collegamento simbolico esistente utilizzando il comando unlink o rm.

La sintassi del comando unlink del comando è molto semplice:

unlink symlink_to_remove

La rimozione del collegamento simbolico mediante il comando rm è la stessa della rimozione di un file:

rm symlink_to_remove

Si consiglia di utilizzare il comando unlink quando si rimuove un collegamento simbolico.

Se elimini o sposti il ​​file sorgente in una posizione diversa, il file simbolico rimarrà esistente ed inutilizzabile.

Conclusione

In questo tutorial abbiamo visto come creare ed eliminare i collegamenti simbolici.