Come creare collegamenti simbolici per file e cartelle in Linux
Un collegamento simbolico o collegamento software è un tipo speciale di file che contiene un riferimento che punta a un altro file o directory. È supportato su quasi tutte le distribuzioni Linux. Sebbene indichino il loro obiettivo, operano indipendentemente dai loro obiettivi. Possiamo creare collegamenti sia per file che per directory.
La rimozione del collegamento simbolico non influisce su nulla, ma quando il file originale viene rimosso, il collegamento diventa un collegamento “pendente” che punta a un file inesistente. A differenza degli hard link, i soft link hanno numeri di inode diversi, ovvero l’eliminazione del file o della directory di destinazione non rimuove i soft link. Questi collegamenti possono anche essere creati nel file system.
Crea un collegamento simbolico per la cartella
Il comando ln viene utilizzato per creare collegamenti simbolici e utilizza la seguente sintassi:
ln -s [target directory or file] [symlink shortcut]
Ad esempio, per collegare la directory /usr/local/lib/sample alla cartella /sample, utilizzare il seguente comando:
# ln -s /usr/local/lib/sample /sample
Dopo aver creato il collegamento simbolico alla cartella /sample e dovrebbe puntare a /usr/local/lib/sample, e quando l’utente cambia la directory (cd) in /sample, la shell del sistema operativo cambierà automaticamente in /usr/local /lib/ directory di prova. È possibile visualizzare il collegamento utilizzando il comando ls. Potresti aver notato che viene visualizzato il campo del tipo di file l
che indica che si tratta di un collegamento simbolico e ->
mostrare il percorso del collegamento.
# cd /sample
# ls -l
lrwxrwxrwx 1 root root 21 Apr 7 05:16 sample -> /usr/local/lib/sample
Crea un collegamento simbolico per i file
Il collegamento simbolico potrebbe essere utilizzato per i file che utilizzano lo stesso comando ln. Di seguito, l’esempio mostrerà come creare un nuovo file di collegamento (soft) “filesync” che punta a /home/bobbin/sync.sh
# ln -s /home/bobbin/sync.sh filesync
Questo creerà un nuovo file bind chiamato selfie.sh nella directory corrente che punta a /home/bobbin/selfi.sh
# ln -s /home/bobbin/selfi.sh
Conclusione
I collegamenti simbolici vengono utilizzati per i programmi Linux come alias in modo che gli utenti non debbano sapere quale versione del codice hanno utilizzato.
# which python
/usr/bin/python
# ls -l /usr/bin/python
lrwxrwxrwx. 1 root root 7 Feb 21 13:38 /usr/bin/python -> python2
Non utilizzare i soft link come alternativa al backup. Il backup è costituito da due insiemi di dati identici in cui i collegamenti sono nomi alias per il file o la directory.