Introduzione
Un collegamento simbolico, noto anche come collegamento simbolico o collegamento software, è un tipo speciale di file che punta a un altro file o directory. I collegamenti simbolici vengono comunemente utilizzati per creare collegamenti o alias per file o directory situati nel file system.
In questa guida, tratteremo come utilizzare il ln
comando per creare collegamenti simbolici.
Tipi di collegamenti
Esistono due tipi di collegamenti nei sistemi Linux/UNIX:
- Collegamenti fisici . Puoi pensare a un collegamento reale come a un nome aggiuntivo per un file esistente. Gli hard link collegano due o più nomi di file con lo stesso inode. È possibile creare solo collegamenti reali per directory e file situati sullo stesso file system o partizione. Un file può avere uno o più collegamenti fisici.
- Collegamenti morbidi . Un collegamento simbolico, noto anche come collegamento software, è un tipo di file che funge da riferimento a un altro file o directory nel file system. È paragonabile a un collegamento nel sistema operativo Windows, poiché consente di accedere a un file o a una directory da una posizione diversa senza crearne una copia. I collegamenti simbolici sono utili per organizzare i file e per facilitare l'accesso ai file o alle directory utilizzati di frequente. A differenza di un collegamento reale, un collegamento simbolico può puntare a un file o una directory su una partizione o un file system diverso.
Come utilizzare il comando ln
ln
è un'utilità da riga di comando per creare collegamenti tra file. Per impostazione predefinita, il ln
comando crea collegamenti reali. Per creare un collegamento simbolico, utilizzare l' opzione -s
( --symbolic
).
La sintassi del comando ln
per creare collegamenti simbolici è la seguente:
ln -s [OPTIONS] FILE LINK
- Se vengono forniti sia
FILE
andLINK
, verrà creato un collegamento dal file specificato come primo argomento (FILE
) al file specificato come secondo argomento (LINK
). - Se viene fornito un solo file come argomento o il secondo argomento è un punto (
.
),ln
verrà creato un collegamento a quel file nella directory di lavoro corrente . Il collegamento simbolico avrà lo stesso nome del file a cui punta.
Per impostazione predefinita, in caso di successo, ln
non produce alcun output e restituisce zero.
Creazione di un collegamento simbolico a un file
Per creare un collegamento simbolico a un determinato file, apri il terminale e digita:
ln -s source_file symbolic_link
Sostituisci source_file
con il nome del file esistente per il quale vuoi creare il collegamento simbolico e symbolic_link
con il nome del collegamento simbolico.
Il parametro symbolic_link
è facoltativo. Se non specifichi il collegamento simbolico, il ln
comando creerà un nuovo collegamento nella directory corrente:
Nell'esempio seguente, stiamo creando un collegamento simbolico denominato my_link.txt
a un file denominato my_file.txt
:
ln -s my_file.txt my_link.txt
Per verificare che il collegamento simbolico sia stato creato correttamente, utilizzare il comando ls
:
ls -l my_link.txt
L'output sarà simile al seguente:
lrwxrwxrwx 1 noviello users 4 Nov 2 23:03 my_link.txt -> my_file.txt
Il carattere l
è un flag di tipo file che rappresenta un collegamento simbolico. Il simbolo ->
mostra il file a cui punta il collegamento simbolico.
Creazione di collegamenti simbolici a una directory
Il comando per creare un collegamento simbolico a una directory è lo stesso di quando si crea un collegamento simbolico a un file. Specificare il nome della directory come primo parametro e il collegamento simbolico come secondo parametro.
Ad esempio, se desideri creare un collegamento simbolico dalla /mnt/my_drive/movies
directory alla ~/my_movies
directory, eseguirai:
ln -s /mnt/my_drive/movies ~/my_movies
Sovrascrivere i collegamenti simbolici
Se si tenta di creare un collegamento simbolico già esistente , il comando ln
genererà un messaggio di errore.
ln -s my_file.txt my_link.txt
ln: failed to create symbolic link 'my_link.txt': File exists
Per sovrascrivere il percorso di destinazione del collegamento simbolico, utilizzare l' opzione -f
( --force
).
ln -sf my_file.txt my_link.txt
Rimozione di collegamenti simbolici
Per eliminare/rimuovere collegamenti simbolici, utilizzare il comando unlink
o rm
.
La sintassi di unlink
è molto semplice:
unlink symlink_to_remove
La rimozione di un collegamento simbolico utilizzando il rm
comando è la stessa di quando si rimuove un file:
rm symlink_to_remove
Non importa quale comando usi, quando rimuovi un collegamento simbolico non aggiungere la /
barra finale alla fine del suo nome.
Se elimini o sposti il file sorgente in una posizione diversa, il file simbolico rimarrà in sospeso (rotto) e dovrà essere rimosso.
Conclusione
Per creare un collegamento simbolico in Linux, utilizzare il comando ln
con l'opzione -s
.
Per ulteriori informazioni sul comando ln
, visita la pagina man ln o digita man ln
il tuo terminale.
Se hai domande o feedback, sentiti libero di lasciare un commento.