Comprendere le differenze tra collegamenti soft e hard in Linux

Înțelegerea diferențelor dintre linkurile soft și hard în Linux
⏱️ 8 min read

Sul tuo sistema Linux funzionante, supponiamo di avere un file annidato all’interno di più livelli di directory. Per accedere facilmente a quel file, si desidera creare un collegamento per quel file sul desktop. È possibile utilizzare symlink (noto anche come soft link). Esiste anche un’altra forma di collegamento nota come collegamento fisico. In questo articolo spiegheremo le differenze tra soft e hard link e daremo un’occhiata a quale dovresti usare.

Collegamenti soft vs. hard

Un collegamento morbido, o collegamento simbolico, è solo un collegamento simbolico. È semplicemente un puntatore al percorso file di destinazione. A un collegamento software non interessa se il file o la cartella nel percorso del file esiste davvero. Se il file o la cartella non esiste, risulterà solo un collegamento simbolico interrotto. Puoi modificare o eliminare il collegamento simbolico e non influirà sul file di destinazione.

D’altra parte, un collegamento fisico ha l’effetto di dare al file di destinazione un nome aggiuntivo. Quando modifichi il contenuto di un file, modificherà anche il contenuto dell’altro file. In breve, un collegamento software è solo un riferimento al percorso del file di destinazione, mentre un collegamento fisico è un collegamento diretto ai dati del file di destinazione.

Di seguito illustreremo come funzionano i link soft e hard.

Soft link in azione

Supponiamo di avere un file chiamato “first_file.txt” che ha quattro righe di testo al suo interno.

Creeremo un collegamento software nella nostra directory Home.

Nell’ambiente desktop GNOME, è possibile creare un collegamento software per un file semplicemente facendo clic con il pulsante destro del mouse sul file e selezionando “Crea collegamento”. Viene creato un collegamento software il cui nome è simile a “Collegamento a .txt”.

Link Sl Guicreate

Se proviamo a visualizzare il contenuto di “sl-firstfile.txt”, possiamo vedere che è lo stesso di “first_file.txt”.

Link Sl View

Se diamo uno sguardo a questi due file nel File Manager, il collegamento software appare come un collegamento al file originale. La freccia nera nell’icona del file lo indica.

Link Slfirst

Quando tentiamo di visualizzare l’elenco della directory corrente utilizzando il comando ls -l, puoi vedere dove il collegamento software punta al file di destinazione. Il primo carattere nella stringa di autorizzazione per “sl-firstfile.txt” è “l”, il che significa che questa voce è per un collegamento.

Link Slsecond

Comportamento di cancellazione dei soft link

Quando il file di destinazione viene eliminato, il collegamento software sarà ancora disponibile.

Link Sl Delorig

Tuttavia, è diventato un collegamento “penzoloni” o “interrotto” ed è inutile.

Link Delview

Ora, se crei un altro file con lo stesso nome – “first_file.txt” – il collegamento software diventerà nuovamente attivo.

Nota: nel caso in cui incontri dei soft link e desideri trovare il percorso assoluto del file per cui il link è stato creato, usa semplicemente il file readlink comando come mostrato di seguito.

Link Readlink

L’output di questo comando sarà il percorso assoluto del file originale.

Collegamenti fisici in azione

Ora creeremo un collegamento fisico per lo stesso file nella nostra directory Home. Questo può essere fatto con il seguente comando:

Nota: i metodi per creare il collegamento soft e hard link utilizzano entrambi ln comando. L’unica differenza è il file -s flag che denota un collegamento simbolico.

Un altro modo per creare un collegamento fisico è utilizzare il link comando.

Un controllo su entrambi i file mostra che il loro contenuto è lo stesso.

Collega Firstview
Link Hl Secondview

Nella GUI, entrambi i file vengono visualizzati come entità distinte. Non ci sono indicazioni sull’esistenza di un hard link.

Link Hlview

Proviamo ad aggiungere una nuova riga al file di collegamento fisico “hl-firstfile.txt”.

La modifica dei dati può essere visualizzata in entrambi i file.

Link Link Hlappview2
Link Hl Appview 1

Quando viene creato un collegamento fisico, è come se esistessero due file diversi, ma i loro dati sono collegati. Un cambiamento in uno si riflette nell’altro.

Consiglio rapido: quando si creano collegamenti software e collegamenti fisici, sarebbe una buona idea utilizzare la stessa estensione del file per il quale viene creato il collegamento.

Comportamento di cancellazione degli hard link

Per gli hard link, l’eliminazione del file originale o dell’hard link non è motivo di preoccupazione. I dati inizialmente memorizzati nel file sono ancora accessibili tramite l’hard link.

Link Hl Del
Link Hl Delview

Quando sarebbero utili i soft link?

Abbiamo notato che i collegamenti virtuali vengono visualizzati come scorciatoie per un file. Quando abbiamo un file all’interno di più livelli di directory e desideriamo memorizzarlo in una posizione per un facile accesso, una buona opzione sarebbe semplicemente creare un breve collegamento per esso.

Quando sarebbero utili gli hard link?

Abbiamo visto che una volta che un collegamento fisico è stato creato per un file, qualsiasi modifica al file o al collegamento fisico si riflette in entrambi.

Supponiamo che tu abbia un server di backup. Viene utilizzato un meccanismo di backup incrementale in cui vengono riflesse solo le modifiche a file / cartelle dall’ultimo backup. È possibile creare un collegamento fisico tra un file nel server e la copia corrispondente nel computer. Quando viene eseguito il backup, le modifiche al file nel computer si rifletteranno automaticamente nel corrispondente file hard linkato nel server, anche se i file subiscono un cambio di nome.

Conclusione

Sia i soft link che gli hard link hanno i propri usi e dovrebbero essere usati in diverse situazioni. Comprendere le loro differenze ti consente di prendere decisioni migliori durante la creazione di collegamenti. È possibile creare collegamenti software e collegamenti fisici anche per le directory. Mentre i soft link possono essere creati attraverso i filesystem, gli hard link possono essere creati solo all’interno dello stesso filesystem.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar di Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Potrebbero interessarti anche...

Subscribe
Notificami
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x