Come creare hard link e soft link in Linux?

How Create Hard Link



Nel sistema operativo Linux, tutte le informazioni su un file sono memorizzate nel rispettivo inode. Questi inode ti permettono di conoscere tutti i metadati di un file. Esiste un concetto di creazione di collegamenti a un file in Linux, proprio come creiamo puntatori ai file nella maggior parte dei linguaggi di programmazione più diffusi. Questi collegamenti sono fondamentalmente di due tipi: i collegamenti rigidi e quelli morbidi. Un hard link a un file è essenzialmente una copia esatta del file, il che significa che un hard link a un file e il file effettivo condivideranno lo stesso inode. Il più grande vantaggio della creazione di un hard link è che anche se elimini accidentalmente il file vero e proprio, sarai comunque in grado di accedere al suo contenuto tramite il suo hard link.

D'altra parte, un collegamento software o un collegamento simbolico funziona esattamente come un puntatore o un collegamento a un file. Non è una copia accurata del file ma punta solo al file originale. Un collegamento software a un file e il file effettivo avranno valori di inode diversi. Inoltre, se elimini il file effettivo in qualsiasi momento, non sarai in grado di accedere al suo contenuto tramite il suo collegamento software. Oggi condivideremo con voi i metodi per creare un collegamento reale e un collegamento software a un file in Linux.







Nota: abbiamo usato Linux Mint 20 per guidarti attraverso i metodi mostrati di seguito.



Metodo per creare un collegamento fisso in Linux Mint 20:

Per creare un collegamento reale a un file in Linux Mint 20, eseguiremo i passaggi indicati di seguito:



Innanzitutto, dobbiamo avviare il terminale in modo da poter passare i comandi tramite il terminale in Linux Mint 20 per creare un collegamento reale. Abbiamo anche allegato l'immagine del terminale Linux Mint 20 di seguito:





Ora devi elencare tutti i file presenti nella tua directory di lavoro corrente. Puoi anche farlo per qualsiasi altra directory di tua scelta specificando esplicitamente il suo percorso. Tuttavia, abbiamo preferito lavorare con la directory Home in modo da non dover menzionare il suo percorso nel nostro comando di seguito:



$ls-l

Questo comando elencherà tutti i contenuti della directory di lavoro su cui stai attualmente lavorando.

Il contenuto della nostra directory Home è mostrato anche nell'immagine seguente:

Ora seleziona qualsiasi file a tua scelta di cui desideri creare il collegamento fisico. Abbiamo evidenziato il nostro file selezionato nell'immagine mostrata sopra. Ora proveremo a creare un hard link per il file denominato awk.txt eseguendo il comando mostrato di seguito:

$lnawk.txt abc.txt

Qui, il primo file sarà quello di cui si desidera creare l'hard link, mentre il secondo file specifica il nome dell'hard link da creare. Puoi usare qualsiasi nome diverso da abc.txt.

Dopo aver eseguito questo comando, è necessario elencare nuovamente il contenuto della directory di lavoro corrente con il comando ls per verificare se è stato creato o meno un collegamento fisico al file awk.txt. Una volta eseguito questo comando, sarai in grado di vedere il clone esatto di awk.txt con il nome abc.txt nella tua directory di lavoro corrente come evidenziato nell'immagine seguente:

Un altro modo per verificarlo è visitare la directory Home facendo clic sull'icona File Manager. Lì, sarai in grado di vedere awk.txt insieme a abc.txt che è, in effetti, la copia esatta dello stesso file di testo. Puoi anche aprire entrambi questi file per verificare se il loro contenuto è lo stesso o meno.

Metodo per creare un collegamento software in Linux Mint 20:

Per creare un collegamento software a un file in Linux Mint 20, eseguiremo i passaggi indicati di seguito:

Dobbiamo eseguire nuovamente il comando ls per controllare il contenuto della directory di lavoro corrente, come abbiamo fatto nel metodo mostrato sopra. Questa volta, abbiamo selezionato un altro file chiamato Bash.sh per creare il suo collegamento software come evidenziato nell'immagine seguente:

Dopo aver selezionato un file per creare il suo collegamento software, dobbiamo eseguire il comando indicato di seguito nel nostro terminale Linux Mint 20:

$ln–s Bash.sh NewBash.sh

Qui, il flag -s indica che stiamo per creare un collegamento software a un file; il primo file si riferisce al file il cui collegamento software deve essere creato, mentre il secondo file si riferisce al nome del collegamento software o al puntatore del primo file. Puoi avere qualsiasi nome a tua scelta per il collegamento software di questo file.

Dopo aver eseguito questo comando, è necessario elencare nuovamente il contenuto della directory di lavoro corrente con il comando ls per verificare se è stato creato o meno un collegamento software al file Bash.sh. Una volta eseguito questo comando, sarai in grado di vedere il collegamento software denominato NewBash.sh che punterà al file denominato Bash.sh nella directory di lavoro corrente, come evidenziato nell'immagine seguente. Inoltre, sarai anche in grado di vedere il flag l nella voce evidenziata, che indica inoltre che il collegamento che hai appena creato è semplicemente un puntatore al file e non la copia esatta del file.

Un altro modo per verificarlo è visitare la directory Home facendo clic sull'icona File Manager. Lì, sarai in grado di vedere Bash.sh e NewBash.sh che è, in effetti, il collegamento software al file precedente. Puoi anche vedere una freccia situata sul file NewBash.sh, che mostra che è una specie di collegamento o un collegamento al file Bash.sh e non la sua copia esatta come evidenziato nell'immagine mostrata di seguito:

Conclusione:

Spiegandoti i metodi per creare gli hard link e i soft link a un file in questo articolo, ti abbiamo permesso di creare uno di questi collegamenti a qualsiasi file di tua scelta in base alle tue esigenze. Abbiamo cercato di dimostrare questi metodi nel modo più semplice possibile.