Creazione di collegamenti simbolici (Hard e Symbolic/Soft link) su Linux

In questo breve tutorial andremo descrivere come creare un symbolic e hard link su Linux.

Consideriamo una macchina CentOS 7 preinstallata (per l’installazione seguire questo articolo), possiamo dare una breve spiegazione di cosa è l’hard ed il symbolic link, in particolare il symbolic link (soft link) è un file/collegamento ad un altro file all’interno del filesystem, mentre l’ hard link è un file che punta allo stesso inode, nell’ultimo caso eliminando un file verrà eliminato un collegamento a quell’ inode.

Iniziamo creando un hard link, per crearlo utilizzeremo il comando ln

cd

touch pippo.sh

chmod +x pippo.sh

creiamo un piccolo script

cat pippo.sh

#!/bin/sh
echo Ciao Mondo

adesso creiamo l’ hard link

ln pippo.sh hard_link

ls -ltr

-rwxr-xr-x 2 root root 81 3 mag 18.48 pippo.sh
-rwxr-xr-x 2 root root 81 3 mag 18.48 hard_link

se eseguiamo hard_link avremo lo stesso risultato di pippo.sh, a questo punto utilizzando il comando stat verifichiamo che i due file abbiano lo stesso inode

[root@localhost ~]# stat hard_link
File: “hard_link”
Dim.: 26 Blocchi: 8 Blocco di IO: 4096 file regolare
Device: fd00h/64768d Inode: 33942294 Coll.: 2
Accesso: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Accesso : 2018-05-03 18:50:02.384000000 +0200
Modifica : 2018-05-03 18:49:59.471000000 +0200
Cambio : 2018-05-03 18:49:59.497000000 +0200
Creazione: –
[root@localhost ~]# stat pippo.sh
File: “pippo.sh”
Dim.: 26 Blocchi: 8 Blocco di IO: 4096 file regolare
Device: fd00h/64768d Inode: 33942294 Coll.: 2
Accesso: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Accesso : 2018-05-03 18:50:02.384000000 +0200
Modifica : 2018-05-03 18:49:59.471000000 +0200
Cambio : 2018-05-03 18:49:59.497000000 +0200
Creazione: –

ed è proprio così. Vediamo adesso il soft link o symbolic link, in questo caso dovremo utilizzare la seguente sintatti

ln -s pippo.sh soft_link

avremo

lrwxrwxrwx 1 root root 8 3 mag 18.57 soft_link -> pippo.sh

come è possibile notare il tipo di file è cambiato, infatti il primo carattere è una l (indica che è un collegamento ad un altro file), verifichiamo l’ inode

[root@localhost ~]# stat soft_link
File: “soft_link” -> “pippo.sh”
Dim.: 8 Blocchi: 0 Blocco di IO: 4096 collegamento simbolico
Device: fd00h/64768d Inode: 33935898 Coll.: 1
Accesso: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Accesso : 2018-05-03 18:57:18.505000000 +0200
Modifica : 2018-05-03 18:57:16.340000000 +0200
Cambio : 2018-05-03 18:57:16.340000000 +0200
Creazione: –

possiamo notare che il collegamento adesso punta ad un nuovo inode.

 

Potrebbero interessarti anche...

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi