migliorato il testo e rinominato il file
This commit is contained in:
50
lpic/101/027-link.md
Normal file
50
lpic/101/027-link.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# Link
|
||||
|
||||
Nei sistemi operativi Unix e Unix-Like, esiste una tipologia speciale di file denominata `link`. I link consentono di creare riferimenti a file o directory già esistenti, ma si distinguono in due categorie:
|
||||
|
||||
- `link simbolici` (o soft link): puntano al percorso di un altro file o directory. Se il file o la directory di destinazione viene eliminato, il link simbolico smette di funzionare, poiché il riferimento diventa non valido
|
||||
- `hard link`: rappresentano una voce aggiuntiva all’interno del filesystem che punta alla stessa posizione (`inode`) fisica sul disco del file originale. Se unhard link viene eliminato, gli altri continueranno a funzionare
|
||||
|
||||
Un `inode` è una struttura che memorizza i metadati di un file o directory all’interno del filesystem. Tra le informazioni contenute vi sono i permessi, la proprietà, le dimensioni e i timestamp, ecc.
|
||||
|
||||
## Hard Link
|
||||
|
||||
La sintassi per creare un hard link è la seguente:
|
||||
|
||||
```bash
|
||||
ln TARGET LINK_NAME
|
||||
```
|
||||
|
||||
Il target, ovvero il file a cui punterà il collegamento, deve già esistere.
|
||||
|
||||
Per verificare il numero di `inode` associato ai file, si utilizza il comando `ls -i`. Il numero che precede i permessi (880514) rappresenta l'identificativo dell'inode.
|
||||
|
||||
```bash
|
||||
ls -li
|
||||
total 4
|
||||
880514 -rw-rw-r-- 2 user user 0 Feb 18 20:39 file
|
||||
880514 -rw-rw-r-- 2 user user 0 Feb 18 20:39 hardlink
|
||||
```
|
||||
|
||||
Nel caso riportato, file e hardlink condividono lo stesso inode, confermando che si tratta di hard link dello stesso file.
|
||||
|
||||
Il numero `2` indica il conteggio degli hard link che puntano al file, partendo da 1. È importante notare che i link simbolici non incrementano questo contatore.
|
||||
|
||||
## Soft Link
|
||||
|
||||
La sintassi per creare un link simbolico è la seguente:
|
||||
|
||||
```bash
|
||||
ln -s TARGET LINK_NAME
|
||||
```
|
||||
|
||||
Ecco un esempio:
|
||||
|
||||
```bash
|
||||
ls -lh
|
||||
total 8.0K
|
||||
|
||||
lrwxrwxrwx 1 user user 4 Feb 18 20:44 softlink -> file
|
||||
```
|
||||
|
||||
Il primo carattere dei permessi è `l`, che indica che si tratta di un link simbolico. I permessi per i link simbolici sono sempre impostati su `rwxrwxrwx`, ma in realtà i permessi effettivi sono quelli del file di destinazione.
|
||||
Reference in New Issue
Block a user