Link soft vs Hard Link

Link soft vs Hard Link
I collegamenti simbolici (anche chiamati soft link) e i collegamenti rigidi sono una risorsa per accedere a file o directory da qualsiasi posizione. Questo articolo descriverà le differenze tra collegamenti simbolici e collegamenti rigidi.

Collegamenti duri

I collegamenti difficili non sono un file contenente il percorso al file originale ma le copie del mirror del file originale a cui indicano. Un file e i suoi collegamenti difficili non sono associati dal nome o dal percorso ma dall'inode che memorizza le informazioni sul file, come la sua posizione, la data di creazione, le autorizzazioni e altri attributi. Ogni numero di inode è univoco all'interno di un filesystem che impedisce a collegamenti difficili di lavorare tra diverse partizioni o sistemi. I collegamenti difficili non possono essere utilizzati per collegare le directory.

Contrariamente ai collegamenti soft, i collegamenti difficili contengono le informazioni a cui si collegano, quindi se il file originale viene rimosso puoi ancora accedere ai suoi dati.

In tutti i sistemi Linux sia i collegamenti duri che simbolici vengono creati con il comando "ln". Per iniziare prima crea un file chiamato Linuxhintfile e una directory chiamata LinuxHintDirectory Come mostrato nell'immagine qui sotto:

Tocca Linuxhintfile
rmkdir LinuxhintDirectory
ls
root@linuxhint:/home/linuxhint#

Per creare un collegamento duro chiamato link2lhfile al file LinuxHintFile in esecuzione nel terminale:

LN Linuxhintfile Link2lhfile

Dopo aver controllato con ls Vediamo il link duro che abbiamo appena creato, se digiti ls -i vedrai gli inodi dei file, puoi confermare il link che abbiamo appena creato ha lo stesso numero di inode rispetto al file originale, digita:

ls -i

Come abbiamo detto sopra, non possiamo usare collegamenti difficili per le directory né collegamenti ad altri volumi o filesystem, collegheremo LinuxHintDirectory con un collegamento soft.

Puoi trovare collegamenti difficili all'interno della directory di lavoro eseguendo:

Trova -Type F -Links +1

Puoi anche trovare file per inodi, per questa corsa:

Trovare . -inum

Come vedi, ha trovato sia il file originale che il link hard che condivide lo stesso numero di inode.

Collegamenti morbidi

Contrariamente ai collegamenti difficili, i collegamenti soft non sono copie del file originale, contengono il percorso del file originale, per questo se il file originale viene rimosso il collegamento soft o il collegamento simbolico indicherà nessun file diventando un collegamento rotto, o un collegamento orfano, il che significa che se si perde il file di origine, se si elimina o lo si sposta il collegamento simbolico perdirà l'accesso alle informazioni, mentre con il collegamento duro rimane nonostante la rimozione del file di origine perché è completo ed esatto Copia di quel file.

Inoltre, in contrasto con i collegamenti duri, i collegamenti simbolici non condividono lo stesso inode con il file originale, ecco perché il collegamento simbolico può incrociare volumi e filesystem mentre i collegamenti difficili non possono. I collegamenti simbolici possono essere utilizzati per collegare le directory mentre con collegamenti difficili non è possibile.

I collegamenti simbolici sono anche creati con il programma ln, Ma affinché il collegamento sia simbolico/morbido dobbiamo specificare il parametro -S, Per creare un collegamento simbolico alla directory LinuxHintDirectory chiamata LHDLINK RUN:

LN -S LinuxHintDirectory LHDLINK

E poi corri 'ls -i'Per verificarlo è stato creato correttamente:

Come vediamo in questo caso è stato creato il collegamento simbolico, ma ha un numero di inode diverso rispetto al file originale.

Possiamo elencare i collegamenti simbolici all'interno di una directory con il comando "ls -l"

Nell'immagine sopra possiamo vedere nelle autorizzazioni del primo file il prefisso "l"Per i collegamenti simbolici, la fine della riga mostra anche quale file i punti di collegamento simbolici.

Spero che tu abbia trovato questo articolo utile per comprendere le differenze tra collegamenti duri e collegamenti simbolici e come crearli. Continua a seguire Linuxhint per ulteriori suggerimenti e aggiornamenti su Linux.