GNU/Linux >> Linux Esercitazione >  >> Linux

Hard link e soft link in Linux:tutto ciò che devi sapere

Il termine collegamento in Linux è definito come la creazione di un percorso di file o di un URL di posizione del file nel file system. Ci sono due tipi di collegamento in Linux, soft link e hard link. La nozione di soft link è molto comune e di facile comprensione. Se hai familiarità con il file di scelta rapida di Windows, penseresti al collegamento software come al collegamento di un file specifico. I soft link non contengono l'intero file ma contengono solo il nome del file oi dettagli del file. Porta solo il nodo indice (inode) del file per creare il collegamento interno con quel file sul filesystem.

Hard Link e Soft Link in Linux

L'hard link è il collegamento o il percorso del file originale con dimensioni effettive. D'altra parte, il soft link crea solo un URL o un percorso di collegamento per un file o una cartella nel sistema. In questo post vedremo una spiegazione dettagliata dei collegamenti soft e hard e di come funziona il collegamento su Linux.

1. Soft e Hard Link con Inode

Nei sistemi operativi Linux e Unix, il soft link indica il collegamento al file originale. Se il tuo file ha un numero di indice univoco, puoi creare più soft link per quel file originale e ogni soft link farà riferimento al file principale.

Nella maggior parte dei casi, i soft link sono anche chiamati collegamenti simbolici. Creare il soft link di un file è facile con la shell dei comandi del terminale. Il comando indicato di seguito ti guiderà attraverso la creazione di un soft link.

$ ln -s targetFile SourceFiles

Questi soft link vengono spesso utilizzati per fare riferimento a file all'interno di un comando o indicare un nodo all'interno di un comando. Nella gestione del server, i collegamenti software e fisici vengono spesso utilizzati al posto dei percorsi originali.

L'hard link è un po' complesso da comprendere e utilizzare. Come ho detto prima, è un altro nome per un file che contiene i metadati e il numero di indice originale. Possiamo inserire l'hard link in qualsiasi directory. Con il seguente comando di terminale, possiamo creare un hard link a un file.

$ ln hard_link_target  hard_link_output

Parlando di collegamento su Linux, con il comando ln avanzato, possiamo esaminare quanti numeri di nodi di indice sono collegati al file e ai dettagli dell'utente. Nell'hard linking, il numero di numeri di indice indica anche il numero totale di hard link di quel file.

Il fatto interessante degli hard link è che, se elimini il file originale, l'hard link rimarrà comunque nel filesystem. L'unico modo per eliminare un file su Linux è assicurarsi che ci sia un solo numero di inode di quel file prima di eliminare il file.

L'eliminazione dei collegamenti soft e hard non eliminerà il file originale dal filesystem Linux. In alcuni casi, il numero di inode può aiutare a recuperare i file eliminati accidentalmente su Linux.

2. Fatti su Hard Link e Soft Link in Linux

A questo punto, vedremo alcuni fatti e metodi di lavoro di soft link e hard link su Linux. Comprendere la nozione di collegamento su Linux potrebbe aiutarti a creare collegamenti migliori.

  • I soft link o gli URL simbolici sono le scorciatoie di un file sul sistema Linux.
  • Se il file originale viene spostato o rimosso, il percorso del collegamento software non funzionerà correttamente.
  • Puoi utilizzare il comando ls -l per visualizzare i link simbolici.
  • Puoi utilizzare i soft link per eseguire comandi, collegarti a una directory o utilizzarli all'interno di uno script.
  • Dopo aver creato un soft link di un file, quando cambi il nome di quel file, dovrai anche aggiornare il nome del soft link. In caso contrario, il soft link non funzionerà.
  • I soft link sono utilizzati principalmente per collegare tra loro file e directory sul sistema.

Come abbiamo visto alcuni fatti sui link simbolici, ci sono anche alcuni fatti sugli hard link che potresti aver bisogno di sapere.

  • Come per i soft link, puoi utilizzare il comando ls -l per visualizzare l'elenco di hard link nel sistema.
  • A differenza dei soft link, i hard link hanno lo stesso file originale. Se elimini uno di essi, il resto funzionerà.
  • L'eliminazione dei collegamenti reali non influirà sul file principale nel tuo filesystem Linux.
  • La dimensione dell'hard link è convenzionalmente la stessa del file principale.
  • Puoi creare hard link per i file, ma non puoi creare hard link per le directory su sistemi operativi Linux e simili a Unix.
  • Il valore del nodo indice del file originale e del nodo indice dell'hard link è sempre lo stesso e si riferisce anche allo stesso file sul filesystem.

3. Pro e contro dei collegamenti soft e hard

Nei punti sopra menzionati abbiamo visto le caratteristiche, la metodologia di lavoro e le proprietà di come funzionano gli hard e soft link sul sistema Linux. Qui stiamo per scoprire i pro ei contro di questi due file system.

I principali vantaggi del collegamento software o del collegamento simbolico sono che puoi semplicemente creare un collegamento software senza alcuno sforzo e non richiede un'enorme quantità di dimensioni o blocchi sul disco. Inoltre, il soft link ci consente anche di creare collegamenti simbolici per qualsiasi file e directory.

Il vantaggio dell'hard link è che il file e l'hard link utilizzano entrambi lo stesso nodo di indice e occupano la stessa quantità di spazio sul sistema, quindi in tal caso, stiamo effettivamente mantenendo entrambi i file sul file system. Pertanto, se rimuovi o elimini accidentalmente o intenzionalmente il file principale, l'hard link sarà ancora eseguibile.

Ora, se guardiamo agli svantaggi del soft link e dell'hard link, possiamo vedere che entrambi hanno alcune limitazioni. Per i soft link, se rimuovi, rinomini o elimini il file principale, il soft link non funzionerà più.

4. Cosa accadrebbe se eliminiamo il file principale

Potresti aver pensato a cosa accadrà se eliminiamo volontariamente o erroneamente il file principale; i collegamenti hard e soft saranno ancora funzionanti? Qui, abbiamo creato un soft link per la cartella di destinazione. Ora, se eliminiamo la directory di destinazione principale, il sistema suggerirà di rimuovere il soft link nel cestino alla successiva esecuzione di quel soft link.

Abbiamo utilizzato il comando seguente per creare un soft link del file "target". Ora elimineremo il file principale e vedremo come influisce sul collegamento simbolico.

ln -s target softlink

E per gli hard link, l'unico svantaggio è che non puoi creare un hard link per nessuna directory sul tuo sistema Linux. Inoltre, non ti consente nemmeno di creare hard link per diversi filesystem.

Ultime parole

Nell'intero post, abbiamo visto una spiegazione dettagliata di come funzionano i collegamenti soft e hard su Linux. Nel caso in cui intendi creare un collegamento fisico a una directory, tieni presente che sui computer moderni è quasi impossibile creare un collegamento fisico alle directory. Ma puoi creare soft link alle directory.

Spero che questo post ti sia stato utile; se sì, condividi questo post con i tuoi amici e la comunità Linux. Puoi anche farci sapere quale collegamento ritieni più utile o che hai utilizzato di più sul tuo sistema.


Linux
  1. Liste di controllo accessi e unità esterne su Linux:cosa devi sapere

  2. Come creare collegamenti rigidi e simbolici in Linux

  3. Spiegazione di hard link e soft link in Linux

  4. Linux:tutto è un file?

  5. Come creare collegamenti soft e hard in Linux

Tutto ciò che devi sapere sul file system Linux

Tutto ciò che devi sapere sul comando Chmod di Linux

Tutto ciò che devi sapere sul sistema operativo Linux Zorin

Tutto ciò che devi sapere sul sistema operativo Peppermint Linux

Tutto ciò che è importante sapere su Hard Link in Linux

Il comando ln in Linux:crea collegamenti soft e hard