Esiste un tipo speciale di file, chiamato *link*. Ne esistono di due tipi:
- link *simbolici*: chiamati anche *soft link*, puntano al percorso di un altro file. Se si elimina il file a cui punta il collegamento (*target*), questo smetterá di funzionare
- *hard link*: sono una voce aggiuntiva nel filesystem che punta alla stessa posizione (*inode*) sul disco (punta allo stesso dato). Se si elimina uno di questi nomi, gli altri continueranno a funzionare.
> Un inode é una struttura che memorizza gli attributi (o metadati) per un oggetto, come file o directory, su un filesystem. Tra questi attributi ci sono i permessi, le varie proprietá, ecc.
## Hard Link
```bash
ln TARGET LINK_NAME
```
Il target, ossia il file a cui punterá il collegamento, deve giá esistere.
```bash
ln file hardlink
ls -li
total 4
880514 -rw-rw-r-- 2 dado dado 0 Feb 18 20:39 file
880514 -rw-rw-r-- 2 dado dado 0 Feb 18 20:39 hardlink
```
Per verificare il numero di inode, si utilizza il comando `ls -i`. Il numero prima dei permessi é il numero di inode. I file `file` e `hardlink` hanno lo stesso numero di inode, poiché sono uno l'hardlink dell'altro.
In quanto un hardlink punta allo stesso inode, puo' essere spostato senza timore di rompere il collegamento.
Il primo carattere sui permessi é `l`, che indica un soft link. I permessi per i softlink sono sempre `rwxrwxrwx`, ma in realtá i permessi sono gli stessi della destinazione.