Come creare link simbolici in Ubuntu

Cerca

Un link simbolico (symbolic link), anche definito symlink o soft link, è un collegamento a qualsiasi file o cartella. In Ubuntu, i link simbolici funzionano come una stringa che genera percorsi tra vari file o cartelle. I symlink garantiscono inoltre intrinsecamente che la risorsa a cui puntano esista. Generalmente i symlink sono utilizzati per creare collegamenti a delle librerie, ma possono essere utilizzati per memorizzare varie copie dello stesso file in differenti luoghi.

Tabella dei Contenuti

Tipi di symlink in Ubuntu

Prima di vedere come creare simlink in Ubuntu, dobbiamo essere consapevoli che esistono due tipi di simbolik link che possono essere creati:

  • Soft Link: fa riferimento al file o al percorso originale. Per fare un’analogia con quanto siamo abituati ad usare tutti i giorni navigando su internet, un Soft Link funziona similarmente ad un hyperlink.
  • Hard Link: con questo tipo di link viene generato un nuovo file collegato ad un inode object che rappresenta il file originale (reference file). Questo equivale a fare una copia di uno specifico file.

Come creare un symlink per una directory in Ubuntu

Gli utenti di Ubuntu possono utilizzare il comando ln per creare link simbolici. Di default questo comando genera degli hard link, ma si può utilizzare il flag -s o -symbolic per forzare la creazione di un soft link. La sintassi del comando è quindi la seguente:

				
					ln -s [source-file-path] [symbolic-link-path]
				
			

Per fare un esempio pratico vediamo come creare un soft link per la cartella Download  collocandolo sul Desktop. Il comando sarà il seguente:

				
					ln -s /home/alessandro/Download /home/alessandro/Desktop
				
			

Come creare un symlink per un file in Ubuntu

Se si vuole creare un symlink per un file specifico, la sintassi è analoga a quella già vista sopra:

				
					ln -s [source-file-name] [symbolic-link-name]
				
			

Sempre per rendere più chiara la sintassi, vediamo un esempio pratico in cui generiamo un symlink chiamato apri_testfile che punta al file denominato testfile:

				
					ln -s testfile apri_testfile
				
			

Questo comando collocherà il symlink nello stesso percorso dove è collocato il file chiamato testfile.

Come sovrascrivere un symlink esistente in Ubuntu

Per sovrascrivere un symlink esistente possiamo utilizzare il flag -f del comando ln il quale ne forza la rigenerazione.

				
					ln -sf testfile nuovo_apri_testfile
				
			

Come rimuovere un symlink in Ubuntu

Ogni link simbolico diventa inutile se il file a cui punta viene cancellato o spostato in altro percorso. In questo caso il symlink può essere cancellato utilizzando il comando <code>rm</code>:

				
					rm [symbolic-link-name]
				
			

alternativamente si può utilizzare il comando <code>unlink</code>:

				
					unlink [symbolic-link-name]
				
			
Eliminazione di un symlink utilizzando rm
In questo esempio utilizziamo il comando rm per eliminare il symlink denominato link-to-ada che punta al file chiamato ada-file:
				
					rm link-to-ada
				
			
Eliminazione di un symlink utilizzando unlink

In questo secondo esempio ripetiamo l’operazione eseguita sopra utilizzando invece il comando unlink:

				
					unlink link-to-ada
				
			

Come individuare e cancellare symlink rotti in Ubuntu

Ubuntu ci da la possibilità di individuare agevolmente i link simbolici rotti presenti nel sistema. Per fare ciò utilizziamo il comando find seguendo questa sintassi:
				
					find [directory-path] -xtype l
				
			

Il flag -xtype serve per definire il tipo di file oggetto della ricerca ed il parametro l indica invece che stiamo cercando symlink rotti.

Ricerca di symlink rotti in una specifica directory

Vediamo ora con un esempio chiarificatore come cercare la presenza di symlink rotti nel percorso /home/alessandro:

				
					find /home/alessandro -xtype l
				
			
Ricerca ed eliminazione di symlink rotti in una specifica directory
Se contestualmente alla ricerca dei symlink rotti vogliamo anche automatizzarne l’eliminazione, ci viene in ausilio il flag -delete che può essere applicato seguendo questa sintassi:
				
					find /home/alessandro -xtype l -delete
				
			

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Most Recent

Come aggiornare mailcow

In questo scenario viene illustrato come eseguire l’aggiornamento di un’istanza di mailcow dockerized utilizzando i tools in esso integrati. Aggiornamento automatico Nella directory di mailcow-dockerized

Partners