GNU/Linux >> Linux Esercitazione >  >> Linux

Il comando ln in Linux:crea collegamenti soft e hard

Un collegamento è un riferimento a un altro file. I collegamenti danno allo stesso file più nomi e consentono loro di risiedere in due o più posizioni contemporaneamente.

Esistono due tipi di link:

  • Link software o link simbolico:questo è semplicemente un collegamento al file originale.
  • Hard link:punta alla posizione di memoria del file originale.

Questa immagine mostra come funzionano i due tipi di link:

Sia gli hard link che i soft link vengono creati con il comando ln.

In questo tutorial, ti mostrerò come utilizzare il comando ln per creare vari tipi di collegamenti in Linux.

Esempi del comando ln

La sintassi per il comando ln è semplice:

 ln [option] target_file link_name

Lascia che ti mostri alcuni esempi di utilizzo del comando ln per creare collegamenti in Linux.

Per creare un collegamento fisico a un file, puoi utilizzare il comando ln senza alcuna opzione come questa:

 ln target_file link_name

Per creare un collegamento simbolico a un file, utilizzare l'opzione -s con il nome del file di destinazione e il nome del collegamento

 ln -s target_file link_name

La maggior parte dei terminali Linux mostrerà il collegamento software in un colore diverso insieme alla destinazione a cui punta.

Noterai anche che i link iniziano con l invece del solito - per i file nella visualizzazione elenco lungo.

Anche se il tuo terminale non mostra i soft link di colore diverso, puoi identificare i link in questo modo.

Creare un collegamento software a una directory equivale a creare un collegamento simbolico a un file. Devi solo sostituire il nome/percorso del file di destinazione con il nome/percorso della directory.

 ln -s target_directory link_name

Noterai che il colore del soft link e dell'hard link è generalmente diverso nel terminale Linux. Il collegamento fisico a una directory non è possibile (normalmente).

È possibile sovrascrivere un collegamento esistente. Per impostazione predefinita, se provi a utilizzare un collegamento esistente per puntare a un nuovo file, verrà generato un errore:

ln: failed to create symbolic link 'soft-link-to-file': File exists

Il comando ln ha due opzioni per questo scopo:

  • -i :La modalità interattiva ti chiede se vuoi sovrascrivere il link esistente.
  • -f :La modalità forzata aggiorna semplicemente il collegamento esistente senza alcuna conferma.

Si supponga di voler forzare l'aggiornamento di un collegamento simbolico. Ecco cosa puoi fare:

ln -sf new_file existing_soft_link

Ricorda di aggiungere le s per soft link altrimenti convertirai il soft link in hard link.

Normalmente, quando usi il comando ls con -l opzione, mostra il file a cui punta.

Ma se è presente una catena di collegamenti, non mostrerà il file originale. Ad esempio, si crea un collegamento a un file e quindi si crea un altro collegamento al primo collegamento. Nell'elenco lungo, il secondo collegamento punterà al primo collegamento.

Per trovare il file originale da una catena di link, puoi usare il readlink -f nel modo seguente:

readlink -f soft_link

Il -f opzioni sta per 'segui' come in 'segui la catena'.

Questa immagine spiega meglio l'esempio:

Ora che sai come creare collegamenti, vediamo brevemente perché abbiamo bisogno di collegamenti? A quale scopo pratico servono?

Potrebbero esserci diversi casi d'uso. Supponiamo che tu abbia scaricato un software fornito con il suo codice e un file eseguibile. Mantieni l'intero contenuto in /opt directory. Ma per eseguire il programma da qualsiasi luogo, devi mettere il suo eseguibile in /usr/bin directory.

Se sposti l'eseguibile in questa directory, potrebbe non funzionare poiché deve accedere ad parte del codice e non troverà il percorso di questi file da /usr/bin directory. Qui è dove puoi creare un collegamento a questo file eseguibile in /usr/bin directory.

In questo modo, il programma può essere eseguito da qualsiasi punto del sistema e l'eseguibile del programma rimane nella sua cartella del programma originale.

I collegamenti sono una parte essenziale di Linux. Li troverai utilizzati in molti punti dei tuoi sistemi. Basta guardare in /lib directory e vedrai molti soft link.

E poi?

Consiglio vivamente di leggere i seguenti articoli relativi al concetto di link in Linux:

  • Cosa sono i soft link?
  • Spiegazione dettagliata degli hard link
  • Trovare collegamenti simbolici interrotti
  • Concetto di inode in Linux

Spero che tu abbia imparato a usare il comando ln in modo efficace in questo tutorial. Domande e suggerimenti sono sempre ben accetti.


Linux
  1. Trova file e directory su Linux con il comando find

  2. Come creare un alias e utilizzare il comando alias in Linux

  3. Come creare collegamenti soft e hard in Linux

  4. Che cos'è Soft Links e Hard Links nel file system Linux

  5. Differenza tra soft link e hard link in Linux

Comando Ln in Linux (Crea collegamenti simbolici)

Come creare un collegamento simbolico in Linux usando il comando Ln

Spiegazione di Soft Link e Hard Link in Linux con esempi

Che cosa sono i collegamenti simbolici in Linux? Come creare collegamenti simbolici?

Soft Links in Linux:il riferimento completo

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