Differenza tra hard link e symbolic link in Linux

Mattepuffo's logo
Differenza tra hard link e symbolic link in Linux

Differenza tra hard link e symbolic link in Linux

In Linux (e simili) abbiamo due tipi di link: hard link e symbolic link.

Non saprei dirvi se anche in Windows esiste questa differenziazione, ma non ci interessa!

La differenza sostanzialmente è questa:

  • un hard link è un "file vero e proprio", che viene autoaggiornato se viene aggiornato quello originale, e non viene cancellato se viene cancellato quello originale (è una specie di copia sincronizzata); dal punto di vista tecnico, condividono lo stesso inode, e questo fa si che abbiano gli stessi attributi (dimensioni, permessi, date di creazione / modifica), ma fa anche si che non si possono creare su filesystem diversi
  • un symoblic link è il classico collegamento, quindi un puntamento al file originale

Entrambi i link si creano con il comando ln.

Di default vengono creati come hard link, a meno di non passare il parametro -s.

Per fare due esempi:

$ ln file hard_link
$ ln -s file symoblic_hard

Ovviamente il comando ln ha tantisisme altre opzioni, ma esulano dall'articolo.

Enjoy!


Condividi

Commentami!