{"id":83197,"date":"2025-06-05T09:00:00","date_gmt":"2025-06-05T07:00:00","guid":{"rendered":"https:\/\/supporthost.com\/it\/?p=83197"},"modified":"2025-05-26T15:52:42","modified_gmt":"2025-05-26T13:52:42","slug":"comando-ln-linux","status":"publish","type":"post","link":"https:\/\/supporthost.com\/it\/comando-ln-linux\/","title":{"rendered":"Creare link simbolici e hard con il comando ln su Linux"},"content":{"rendered":"\n<p>Hai sentito parlare di <em>soft <\/em>e<em> hard link<\/em> su Linux, ma non ti \u00e8 chiara la differenza? Leggendo questo articolo imparerai a usare il <strong>comando ln<\/strong> per creare soft e hard link e ti mostrer\u00f2 che differenza c&#8217;\u00e8 tra questi due tipi di link e come fare a indentificarli e a rimuoverli. <\/p>\n\n\n\n<p>Iniziamo!<\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Indice<\/h2><nav><ul><li><a href=\"#sintassi-del-comando-ln-su-linux\">Sintassi del comando ln su Linux<\/a><\/li><li><a href=\"#differenze-tra-hard-e-soft-link-in-linux\">Differenze tra hard e soft link in Linux<\/a><\/li><li><a href=\"#casi-duso-del-comando-ln\">Casi d&#8217;uso del comando ln<\/a><ul><li><a href=\"#creare-un-link-simbolico-di-un-file\">Creare un link simbolico di un file<\/a><\/li><li><a href=\"#come-capire-a-quale-file-e-associato-un-link-simbolico\">Come capire a quale file \u00e8 associato un link simbolico<\/a><\/li><li><a href=\"#creare-un-link-simbolico-di-una-cartella\">Creare un link simbolico di una cartella<\/a><\/li><li><a href=\"#come-sovrascrivere-un-link-simbolico\">Come sovrascrivere un link simbolico<\/a><\/li><li><a href=\"#creare-un-hard-link-di-un-file\">Creare un hard link di un file<\/a><\/li><li><a href=\"#come-identificare-un-hard-link\">Come identificare un hard link<\/a><\/li><\/ul><\/li><li><a href=\"#come-eliminare-soft-e-hard-link\">Come eliminare soft e hard link<\/a><ul><li><a href=\"#rimuovere-un-link-simbolico\">Rimuovere un link simbolico<\/a><\/li><li><a href=\"#rimuovere-un-hard-link\">Rimuovere un hard link<\/a><\/li><\/ul><\/li><li><a href=\"#conclusioni\">Conclusioni<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"sintassi-del-comando-ln-su-linux\">Sintassi del comando ln su Linux<\/h2>\n\n\n\n<p>Il comando ln (<em>link<\/em>) su Linux ci permette di creare dei link collegati ai file.<\/p>\n\n\n\n<p>Su Linux esistono due tipologie di link:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>hard link<\/strong><\/li>\n\n\n\n<li><strong>soft link<\/strong> (anche detti symlink o link simbolici).<\/li>\n<\/ul>\n\n\n\n<p>Pi\u00f9 avanti in questa guida vedremo che differenze ci sono tra questi due tipi di link.<\/p>\n\n\n\n<p>Per il momento ti basti sapere che con il comando ln puoi creare entrambi: link soft e hard.<\/p>\n\n\n\n<p>La sintassi di base del comando ln \u00e8 la seguente:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln &#091;opzioni] file nome-link<\/code><\/pre>\n\n\n\n<p>Bisogna quindi indicare prima il<strong> file<\/strong> a cui il link si riferir\u00e0 e poi il nome da dare al link.<\/p>\n\n\n\n<p>Nel corso di questo articolo vedremo diversi esempi che ti aiuteranno a capire meglio come funziona il comando.<\/p>\n\n\n\n<p class=\"note\">Nota: per padroneggiare l&#8217;utilizzo del comando ln, ti consigliamo di avere prima una base sui <a href=\"https:\/\/supporthost.com\/it\/comandi-linux\/\" data-type=\"post\" data-id=\"33934\">comandi Linux principali<\/a>. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"differenze-tra-hard-e-soft-link-in-linux\">Differenze tra hard e soft link in Linux<\/h2>\n\n\n\n<p>Ogni elemento in Linux viene considerato un file (<em>s\u00ec, anche le directory stesse<\/em>). Ci sono per\u00f2 anche i link che sono una <em>forma particolare<\/em> di file.<\/p>\n\n\n\n<p>I link, non sono veri file, ma dei <strong>collegamenti<\/strong> che puntano al percorso o alla posizione su disco di un file vero e proprio.<\/p>\n\n\n\n<p>Possiamo distinguere due tipi di link: soft e hard.<\/p>\n\n\n\n<p>I <strong>soft link<\/strong> sono collegamenti che puntano al percorso di un file. Si tratta di link <strong>collegati<\/strong> al file originale: se eliminiamo il file di riferimento, i soft link ad esso collegati<strong> non funzioneranno pi\u00f9<\/strong>.<\/p>\n\n\n\n<p>Gli <strong>hard link<\/strong>, invece, sono collegati alla <em>posizione fisica dei file<\/em> (inode). Questo significa che se eliminiamo il file originale, gli hard link <strong>continuano a funzionare<\/strong>.<\/p>\n\n\n\n<p>Per conoscenza: in Linux per ogni file e cartella del filesystem viene <em>allocato<\/em> un<strong> inode<\/strong> (con associato un numero univoco). Nell&#8217;inode non ci sono i <em>dati<\/em> del file, ma dei metadati con informazioni tra cui la dimensione del file, il numero di hard link associati e un <em>puntatore<\/em> che rimanda allo <strong>spazio su disco<\/strong> in cui ci sono i dati, vale a dire il vero e proprio <em>contenuto <\/em>dei file.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"979\" height=\"434\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/inode-associato-file-terminale.png\" alt=\"Inode Associato File Terminale\" class=\"wp-image-84146\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/inode-associato-file-terminale.png 979w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/inode-associato-file-terminale-300x133.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/inode-associato-file-terminale-768x340.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/inode-associato-file-terminale-120x53.png 120w\" sizes=\"auto, (max-width: 979px) 100vw, 979px\" \/><\/figure>\n\n\n\n<p>Per via delle loro differenze, hard link e soft link si comportano diversamente, come puoi vedere da questa tabella di confronto.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table data-mtr-unique-id=\"2ee2684e74074489501533489edd0919-1\" class=\"has-fixed-layout mtr-table mtr-thead-th\"><thead><tr><th data-mtr-content=\"Soft link\" class=\"mtr-th-tag\"><div class=\"mtr-cell-content\">Soft link<\/div><\/th><th data-mtr-content=\"Hard link\" class=\"mtr-th-tag\"><div class=\"mtr-cell-content\">Hard link<\/div><\/th><\/tr><\/thead><tbody><tr><td data-mtr-content=\"Soft link\" class=\"mtr-td-tag\"><div class=\"mtr-cell-content\">Sono collegati al percorso di un file<\/div><\/td><td data-mtr-content=\"Hard link\" class=\"mtr-td-tag\"><div class=\"mtr-cell-content\">Sono collegati alla posizione fisica del file sull\u2019hard disk<\/div><\/td><\/tr><tr><td data-mtr-content=\"Soft link\" class=\"mtr-td-tag\"><div class=\"mtr-cell-content\">Funzionano sia in locale che con partizioni diverse e con volumi esterni (ad esempio un altro hard disk)<\/div><\/td><td data-mtr-content=\"Hard link\" class=\"mtr-td-tag\"><div class=\"mtr-cell-content\">Funzionano solo localmente perch\u00e9 sono legati alla posizione fisica del volume locale<\/div><\/td><\/tr><tr><td data-mtr-content=\"Soft link\" class=\"mtr-td-tag\"><div class=\"mtr-cell-content\">Se il file viene eliminato (o spostato), smettono di funzionare<\/div><\/td><td data-mtr-content=\"Hard link\" class=\"mtr-td-tag\"><div class=\"mtr-cell-content\">Funzionano anche se il file viene modificato, spostato o eliminato<\/div><\/td><\/tr><tr><td data-mtr-content=\"Soft link\" class=\"mtr-td-tag\"><div class=\"mtr-cell-content\">Si usano per file e cartelle<\/div><\/td><td data-mtr-content=\"Hard link\" class=\"mtr-td-tag\"><div class=\"mtr-cell-content\">Si usano solo per i file<\/div><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"casi-duso-del-comando-ln\">Casi d&#8217;uso del comando ln<\/h2>\n\n\n\n<p>Passiamo all&#8217;uso pratico del comando ln e andiamo a vedere come si creano i link simbolici e gli hard link e come fare a riconoscere i due tipi di link.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"creare-un-link-simbolico-di-un-file\">Creare un link simbolico di un file<\/h3>\n\n\n\n<p>Iniziamo dai link simbolici e vediamo come fare a crearne uno per un file.<\/p>\n\n\n\n<p>Per creare un link simbolico, ci basta usare il comando <code>ln<\/code> con l&#8217;opzione <code>-s<\/code>.<\/p>\n\n\n\n<p>Vediamo un esempio in cui vogliamo creare il link simbolico nella stessa cartella del file di origine.<\/p>\n\n\n\n<p>Il comando si usa in questo modo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln -s file-orgine nome-link<\/code><\/pre>\n\n\n\n<p>Nel mio caso, voglio creare un link simbolico del file &#8220;post.txt&#8221; chiamandolo &#8220;linkpost.txt&#8221;, uso quindi il comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln -s post.txt linkpost.txt<\/code><\/pre>\n\n\n\n<p>Nell&#8217;esempio, grazie al <a href=\"https:\/\/supporthost.com\/it\/comando-ls-linux\/\">comando ls<\/a> visualizzo il contenuto della cartella corrente per assicurarmi che il link sia stato creato. Come puoi vedere nel terminale i link simbolici sono caratterizzati da un colore diverso rispetto ai file. (I colori cambiano in base al terminale e alle impostazioni che stai usando).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"914\" height=\"332\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/creare-link-simbolico-file-con-comando-ln.png\" alt=\"Creare Link Simbolico File Con Comando Ln\" class=\"wp-image-84154\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/creare-link-simbolico-file-con-comando-ln.png 914w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/creare-link-simbolico-file-con-comando-ln-300x109.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/creare-link-simbolico-file-con-comando-ln-768x279.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/creare-link-simbolico-file-con-comando-ln-120x44.png 120w\" sizes=\"auto, (max-width: 914px) 100vw, 914px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"come-capire-a-quale-file-e-associato-un-link-simbolico\">Come capire a quale file \u00e8 associato un link simbolico<\/h3>\n\n\n\n<p>Se vogliamo verificare qual \u00e8 il file a cui punta un link simbolico, possiamo usare diversi comandi che ci permettono di avere informazioni sul file.<\/p>\n\n\n\n<p>Per esempio se usiamo il comando ls con l&#8217;opzione <code>-l<\/code> possiamo avere <strong>informazioni dettagliate su file<\/strong> (e cartelle).<\/p>\n\n\n\n<p>Il comando si usa cos\u00ec:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ls -l nome-link<\/code><\/pre>\n\n\n\n<p>Nel mio esempio, ho il link simbolico &#8220;linkpost.txt&#8221; e voglio sapere a quale file \u00e8 associato, allora uso il comando per avere informazioni su questo link:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ls -l linkpost.txt<\/code><\/pre>\n\n\n\n<p>L&#8217;output che ricevo \u00e8 questo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>lrwxrwxrwx 1 vbox vbox 8 mar 12 11:08 linkpost.txt -&gt; post.txt<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"915\" height=\"211\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/ottenere-informazioni-su-link-simbolico.png\" alt=\"Ottenere Informazioni Su Link Simbolico\" class=\"wp-image-84147\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/ottenere-informazioni-su-link-simbolico.png 915w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/ottenere-informazioni-su-link-simbolico-300x69.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/ottenere-informazioni-su-link-simbolico-768x177.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/ottenere-informazioni-su-link-simbolico-120x28.png 120w\" sizes=\"auto, (max-width: 915px) 100vw, 915px\" \/><\/figure>\n\n\n\n<p>Questo output ci d\u00e0 queste informazioni:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>l<\/code> &#8211; la prima lettera che precede i permessi di lettura e scrittura, indica che si tratta di un <strong>link simbolico<\/strong> (se fosse stato un file avremmo visto un trattino &#8220;-&#8220;);<\/li>\n\n\n\n<li><code>linkpost.txt -&gt; post.txt<\/code> &#8211; questo ci indica che &#8220;linkpost.txt&#8221; \u00e8 il link simbolico associato al file &#8220;post.txt&#8221;. Nota che se il percorso \u00e8 diverso (cio\u00e8 link simbolico e file non si trovano nella stessa cartella) verr\u00e0 indicato anche il percorso.<\/li>\n<\/ul>\n\n\n\n<p>Possiamo ottenere informazioni aggiuntive, ad esempio sul numero univoco dell&#8217;inode usando il <strong>comando stat<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>stat nome-link<\/code><\/pre>\n\n\n\n<p>Nel mio esempio, ho il seguente output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>File: linkpost.txt -&gt; post.txt Dim.: 8 Blocchi: 0 Blocco di IO: 4096 collegamento simbolico Dispositivo: 8,1 Inode: 524926 Collegamenti: 1 Accesso: (0777\/lrwxrwxrwx) Uid: ( 1000\/ vbox) Gid: ( 1000\/ vbox) Accesso : 2025-03-12 11:08:46.137443392 +0100 Modifica : 2025-03-12 11:08:45.419276719 +0100 Cambio : 2025-03-12 11:08:45.419276719 +0100 Creazione: 2025-03-12 11:08:45.419276719 +0100<\/code><\/pre>\n\n\n\n<p>Come interpretare l&#8217;output:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In &#8220;File&#8221; ci viene indicato il nome del link simbolico e il file di riferimento. Nell&#8217;esempio: <code>File: linkpost.txt -&gt; post.txt<\/code><\/li>\n\n\n\n<li>Ci viene indicato che si tratta di un collegamento simbolico.<\/li>\n\n\n\n<li>In &#8220;<code>Inode<\/code>&#8221; vediamo il numero univoco dell&#8217;inode.<\/li>\n<\/ul>\n\n\n\n<p>Nel mio esempio ho usato il comando stat anche con il file originale:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"911\" height=\"410\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/ottenere-informazioni-su-link-simbolico-e-file-collegato.png\" alt=\"Ottenere Informazioni Su Link Simbolico E File Collegato\" class=\"wp-image-84148\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/ottenere-informazioni-su-link-simbolico-e-file-collegato.png 911w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/ottenere-informazioni-su-link-simbolico-e-file-collegato-300x135.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/ottenere-informazioni-su-link-simbolico-e-file-collegato-768x346.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/ottenere-informazioni-su-link-simbolico-e-file-collegato-120x54.png 120w\" sizes=\"auto, (max-width: 911px) 100vw, 911px\" \/><\/figure>\n\n\n\n<p>Come si vede dall&#8217;output, nel secondo caso viene indicato che si tratta di un <em>file regolare vuoto<\/em> e non di un collegamento simbolico. Inoltre, link simbolico e file sono associati a <strong>due inode differenti<\/strong>. (Come vedremo dopo, nel caso di un hard link, invece, l&#8217;inode \u00e8 uno soltanto).<\/p>\n\n\n\n<p>Suggerimento: il comando stat ci d\u00e0 anche informazioni sul timestamp dei file, se vuoi saperne di pi\u00f9 leggi la nostra guida al <a href=\"https:\/\/supporthost.com\/it\/comando-touch-linux\/\" data-type=\"post\" data-id=\"83922\">comando touch<\/a> per sapere come fare ad aggiornare la data dei file.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"creare-un-link-simbolico-di-una-cartella\">Creare un link simbolico di una cartella<\/h3>\n\n\n\n<p>Possiamo usare i link simbolici per creare un collegamento a una cartella. Per farlo si pu\u00f2 usare il percorso relativo o assoluto in base ai casi.<\/p>\n\n\n\n<p>Nel mio esempio voglio creare nella cartella home dell&#8217;utente un link simbolico chiamato &#8220;articoli&#8221; che punti verso la cartella &#8220;~\/Documenti\/SupportHost\/articoli&#8221;.<\/p>\n\n\n\n<p>Il comando si usa cos\u00ec:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln -s \/percorso-cartella-originale \/percorso-link-simbolico<\/code><\/pre>\n\n\n\n<p>Nel mio esempio, uso il comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln -s ~\/Documenti\/SupportHost\/articoli ~\/articoli<\/code><\/pre>\n\n\n\n<p>Nell&#8217;esempio, dopo aver creato il link simbolico, ho usato il comando ls -l per assicurarmi che il link simbolico puntasse alla cartella corretta.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"917\" height=\"235\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/creare-link-simbolico-cartella-con-comando-ln.png\" alt=\"Creare Link Simbolico Cartella Con Comando Ln\" class=\"wp-image-84149\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/creare-link-simbolico-cartella-con-comando-ln.png 917w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/creare-link-simbolico-cartella-con-comando-ln-300x77.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/creare-link-simbolico-cartella-con-comando-ln-768x197.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/creare-link-simbolico-cartella-con-comando-ln-120x31.png 120w\" sizes=\"auto, (max-width: 917px) 100vw, 917px\" \/><\/figure>\n\n\n\n<p>Nota che:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~\/Documenti\/SupportHost\/articoli<\/code><\/pre>\n\n\n\n<p>equivale a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/home\/vbox\/Documenti\/SupportHost\/articoli<\/code><\/pre>\n\n\n\n<p>Nel terminale, infatti, si pu\u00f2 usare il simbolo tilde <code>~<\/code> per indicare &#8220;\/home\/user\/&#8221;, nel mio esempio &#8220;\/home\/vbox\/&#8221;.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"come-sovrascrivere-un-link-simbolico\">Come sovrascrivere un link simbolico<\/h3>\n\n\n\n<p>Se esiste gi\u00e0 un link simbolico con lo stesso nome e vogliamo rimuovere quello esistente per creare un link simbolico che punti a un collegamento diverso, possiamo farlo sempre usando il comando ln.<\/p>\n\n\n\n<p>In questo caso dovremo usare due opzioni:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>l&#8217;opzione -s per creare un link simbolico (e non un hard link);<\/li>\n\n\n\n<li>l&#8217;opzione -f per <strong>forzare la sovrascrittura <\/strong>del link.<\/li>\n<\/ul>\n\n\n\n<p>Facciamo un esempio. Nel mio caso ho il link simbolico &#8220;link.txt&#8221; associato al file &#8220;prova.txt&#8221;, voglio modificarlo per collegarlo al file &#8220;appunti.txt&#8221; che si trova in un&#8217;altra cartella.<\/p>\n\n\n\n<p>Il comando si usa cos\u00ec:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln -sf percorso-file nome-link<\/code><\/pre>\n\n\n\n<p>Nel mio caso:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln -sf ~\/Documenti\/SupportHost\/appunti.txt link.txt<\/code><\/pre>\n\n\n\n<p>Questo comando mi permette di associare il link simbolico &#8220;link.txt&#8221; al file &#8220;appunti.txt&#8221;.<\/p>\n\n\n\n<p>Se, invece, avessi provato a dare lo stesso comando <strong>senza usare l&#8217;opzione -f<\/strong>, avrei ricevuto un avviso come questo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln: creazione del collegamento simbolico 'link.txt' non riuscita: File gi\u00e0 esistente<\/code><\/pre>\n\n\n\n<p>Nell&#8217;esempio mostro come sovrascrivere un link simbolico usando l&#8217;opzione -f e l&#8217;avviso che mi viene mostrato se non applico l&#8217;opzione -f e c&#8217;\u00e8 gi\u00e0 un file esistente:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"196\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/sovrascrivere-link-simbolico-1024x196.png\" alt=\"Sovrascrivere Link Simbolico\" class=\"wp-image-84150\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/sovrascrivere-link-simbolico-1024x196.png 1024w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/sovrascrivere-link-simbolico-300x57.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/sovrascrivere-link-simbolico-768x147.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/sovrascrivere-link-simbolico-120x23.png 120w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/sovrascrivere-link-simbolico.png 1296w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"creare-un-hard-link-di-un-file\">Creare un hard link di un file<\/h3>\n\n\n\n<p>Finora ci siamo concentrati sui link simbolici o soft, come dicevamo, per\u00f2, su Linux possiamo anche creare degli<strong> hard link<\/strong>.<\/p>\n\n\n\n<p>Per creare un hard link associato al file usiamo il comando ln in questo modo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln file-origine nome-link<\/code><\/pre>\n\n\n\n<p>Facendo un esempio semplice all&#8217;interno di una singola cartella, per creare un hard link &#8220;hlink.txt&#8221; associato al file &#8220;nuovo.txt&#8221; uso il comando seguente:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ln nuovo.txt hlink.txt<\/code><\/pre>\n\n\n\n<p>Come si vede nell&#8217;esempio, l&#8217;hard link creato non \u00e8 distinguibile da un normale file, vediamo perci\u00f2 come fare a identificarlo.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"195\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/creare-hard-link-file-con-comando-ln-1024x195.png\" alt=\"Creare Hard Link File Con Comando Ln\" class=\"wp-image-84151\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/creare-hard-link-file-con-comando-ln-1024x195.png 1024w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/creare-hard-link-file-con-comando-ln-300x57.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/creare-hard-link-file-con-comando-ln-768x146.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/creare-hard-link-file-con-comando-ln-120x23.png 120w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/creare-hard-link-file-con-comando-ln.png 1304w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"come-identificare-un-hard-link\">Come identificare un hard link<\/h3>\n\n\n\n<p>Se abbiamo davanti due file che sembrano avere le stesse propriet\u00e0, ma vogliamo assicurarci che siano collegati come hard link, possiamo verificare l&#8217;inode. Come dicevamo, ogni inode \u00e8 caratterizzato da un numero univoco, quindi se due file hanno lo <strong>stesso inode<\/strong>, vuol dire che sono collegati agli stessi dati.<\/p>\n\n\n\n<p>Per fare questa verifica possiamo usare due metodi.<\/p>\n\n\n\n<p>Con il comando <code>ls -li<\/code> possiamo verificare qual \u00e8 il numero inode associato a un file.<\/p>\n\n\n\n<p>In questo esempio puoi vedere che i file hlink.txt e nuovo.txt hanno lo stesso inode (528233) quindi si tratta di <em>hard link<\/em> verso gli stessi dati.<\/p>\n\n\n\n<p>Inoltre, con il comando stat possiamo conoscere anche il numero di hard link associati a quei dati (vengono indicati in &#8220;Collegamenti&#8221; e nel nostro esempio sono 2).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"376\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/identificare-hard-link-1024x376.png\" alt=\"Identificare Hard Link\" class=\"wp-image-84152\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/identificare-hard-link-1024x376.png 1024w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/identificare-hard-link-300x110.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/identificare-hard-link-768x282.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/identificare-hard-link-120x44.png 120w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/identificare-hard-link.png 1303w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"come-eliminare-soft-e-hard-link\">Come eliminare soft e hard link<\/h2>\n\n\n\n<p>Possiamo eliminare i link soft e hard dopo averli creati.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"rimuovere-un-link-simbolico\">Rimuovere un link simbolico<\/h3>\n\n\n\n<p>Per rimuovere un<strong> link simbolico <\/strong>che abbiamo creato possiamo utilizzare due comandi:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>unlink<\/li>\n\n\n\n<li>rm.<\/li>\n<\/ul>\n\n\n\n<p>Questi due comandi sono simili, ma hanno alcune differenze che puoi vedere nella tabella seguente.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table data-mtr-unique-id=\"2ee2684e74074489501533489edd0919-2\" class=\"has-fixed-layout mtr-table mtr-thead-th\"><thead><tr><th data-mtr-content=\"Funzione\" class=\"mtr-th-tag\"><div class=\"mtr-cell-content\">Funzione<\/div><\/th><th data-mtr-content=\"Comando rm\" class=\"mtr-th-tag\"><div class=\"mtr-cell-content\">Comando rm<\/div><\/th><th data-mtr-content=\"Comando unlink\" class=\"mtr-th-tag\"><div class=\"mtr-cell-content\">Comando unlink<\/div><\/th><\/tr><\/thead><tbody><tr><td data-mtr-content=\"Funzione\" class=\"mtr-td-tag\"><div class=\"mtr-cell-content\">Tipo di file eliminabile<\/div><\/td><td data-mtr-content=\"Comando rm\" class=\"mtr-td-tag\"><div class=\"mtr-cell-content\">Si usa per eliminare <strong>file <\/strong>e <strong>cartelle<\/strong><\/div><\/td><td data-mtr-content=\"Comando unlink\" class=\"mtr-td-tag\"><div class=\"mtr-cell-content\">Si usa solo per i <strong>file<\/strong><\/div><\/td><\/tr><tr><td data-mtr-content=\"Funzione\" class=\"mtr-td-tag\"><div class=\"mtr-cell-content\">Eliminazione multipla<\/div><\/td><td data-mtr-content=\"Comando rm\" class=\"mtr-td-tag\"><div class=\"mtr-cell-content\">Si pu\u00f2 usare per eliminare pi\u00f9 file o cartelle con un singolo comando<\/div><\/td><td data-mtr-content=\"Comando unlink\" class=\"mtr-td-tag\"><div class=\"mtr-cell-content\">Accetta un solo argomento alla volta. Quindi ci permette di eliminare un file alla volta.<\/div><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Se vogliamo eliminare un link possiamo usare uno dei due comandi, in questo modo.<\/p>\n\n\n\n<p>Comando unlink:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>unlink nome-link-simbolico<\/code><\/pre>\n\n\n\n<p>Comando rm:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rm nome-link-simbolico<\/code><\/pre>\n\n\n\n<p>Puoi approfondire e trovare numerosi esempi, leggendo la guida al <a href=\"https:\/\/supporthost.com\/it\/comando-rm-linux\/\">comando rm<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"rimuovere-un-hard-link\">Rimuovere un hard link<\/h3>\n\n\n\n<p>Quando creiamo l&#8217;hard link di un file, abbiamo due file che puntano agli stessi dati sul disco. Come dicevamo prima, la differenza principale tra soft e hard link \u00e8 che questi ultimi non <em>dipendono<\/em> dal file originale.<\/p>\n\n\n\n<p>Questo significa che finch\u00e9 esiste un file collegato (come hard link), i dati continuano ad essere accessibili. Per rimuovere quindi completamente un file, bisogna far s\u00ec che <strong>non ci siano pi\u00f9 hard link ad esso collegati<\/strong>.<\/p>\n\n\n\n<p>Possiamo usare il comando rm per rimuovere un hard link, in questo modo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rm nome-link<\/code><\/pre>\n\n\n\n<p>Vediamo un esempio pratico.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"459\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/come-rimuovere-hard-link-1024x459.png\" alt=\"Come Rimuovere Hard Link\" class=\"wp-image-84153\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/come-rimuovere-hard-link-1024x459.png 1024w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/come-rimuovere-hard-link-300x135.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/come-rimuovere-hard-link-768x345.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/come-rimuovere-hard-link-120x54.png 120w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2025\/03\/come-rimuovere-hard-link.png 1070w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Spiegazione dell&#8217;esempio:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Inizialmente ho il file articolo.txt<\/li>\n\n\n\n<li>Uso il comando ln per creare un hard link, <em>testo.txt<\/em> , associato ad <em>articolo.txt<\/em>.<\/li>\n\n\n\n<li>Verificando con stat vedo che il conteggio degli hard link \u00e8 pari a 2.<\/li>\n\n\n\n<li>Uso il comando rm per eliminare <em>testo.txt<\/em>.<\/li>\n\n\n\n<li>Con il comando stat vedo che il conteggio degli hard link ora \u00e8 1.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"conclusioni\">Conclusioni<\/h2>\n\n\n\n<p>Abbiamo visto che su Linux i <em>collegamenti<\/em> o link sono un tipo particolare di file che viene trattato in modo diverso in base al tipo a cui appartiene: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>i soft link o link simbolici<\/li>\n\n\n\n<li>gli hard link. <\/li>\n<\/ul>\n\n\n\n<p>Con il comando ln possiamo creare questi tipi di collegamenti da terminale, ma \u00e8 importante sapere quali sono le differenze tra i due tipi di link in modo da creare quello giusto in base alle esigenze. <\/p>\n\n\n\n<p>Avevi mai creato link su Linux? Facci sapere con un commento.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hai sentito parlare di soft e hard link su Linux, ma non ti \u00e8 chiara la differenza? Leggendo questo articolo imparerai a usare il comando ln per creare soft e hard link e ti mostrer\u00f2 che differenza c&#8217;\u00e8 tra questi due tipi di link e come fare a indentificarli e a rimuoverli. Iniziamo! Sintassi del [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":84164,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[67],"tags":[],"class_list":["post-83197","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"acf":[],"_links":{"self":[{"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/posts\/83197","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/comments?post=83197"}],"version-history":[{"count":11,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/posts\/83197\/revisions"}],"predecessor-version":[{"id":127107,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/posts\/83197\/revisions\/127107"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/media\/84164"}],"wp:attachment":[{"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/media?parent=83197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/categories?post=83197"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/tags?post=83197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}