Tutorial collegamento simbolico in Linux – Come creare e rimuovere un collegamento simbolico

Un collegamento simbolico (chiamato anche collegamento simbolico) è un tipo di file in Linux che punta a un altro file o una cartella sul tuo computer . I collegamenti simbolici sono simili alle scorciatoie in Windows.

Alcune persone chiamano i collegamenti simbolici “collegamenti virtuali” – un tipo di collegamento nei sistemi Linux / UNIX – in opposizione a “collegamenti reali”.

Differenza Tra un soft link e un hard link

I soft link sono simili alle scorciatoie e possono puntare a un altro file o directory in qualsiasi file system.

Gli hard link sono anche scorciatoie per file e cartelle, ma non è possibile creare un collegamento fisico per una cartella o un file in un file system diverso.

Diamo unocchiata ai passaggi coinvolti nella creazione e rimozione di un collegamento simbolico. Vedremo anche quali collegamenti interrotti sono e come eliminarli.

Come creare un collegamento simbolico

La sintassi per creare un collegamento simbolico è:

ln è il comando di collegamento. Il flag -s specifica che il collegamento deve essere morbido. -s può anche essere inserito come -symbolic.

Per impostazione predefinita, ln crea collegamenti fisici. Largomento successivo è path to the file (or folder) che desideri collegare. (Cioè, il file o la cartella per cui si desidera creare un collegamento.)

E lultimo argomento è lo stesso path to link (il collegamento).

Come creare un collegamento simbolico per un file – Comando di esempio

Dopo aver eseguito questo comando, sarai in grado di accedere a /home/james/transactions.txt con trans.txt. Qualsiasi modifica a trans.txt si rifletterà anche nel file originale.

Tieni presente che questo comando sopra creerebbe il file di collegamento trans.txt nella directory corrente. Puoi anche creare un file collegato in una cartella con questo link:

Ci deve essere una directory già chiamata “my-stuffs” nella tua directory corrente – in caso contrario, il comando genererà un errore.

Come creare un collegamento simbolico per una cartella – Comando di esempio

Come sopra, usiamo:

Questo creerebbe una cartella con link simbolico chiamata “james” che conterrebbe i contenuti di /home/james. Eventuali modifiche a questa cartella collegata avranno effetto anche la cartella originale.

Come rimuovere un link simbolico

Prima di voler rimuovere un link simbolico, potresti voler confermare che un file o una cartella è un link simbolico, in modo da non manomettere i file.

Un modo per farlo è:

Lesecuzione di questo comando sul tuo terminale mostrerà le proprietà del file. Nel risultato, se il primo carattere è una lettera minuscola L (“l”), significa che il file / la cartella è un collegamento simbolico.

Vedrai anche una freccia (- >) alla fine che indica il file / cartella a cui punta il collegamento.

Ci sono due metodi per rimuovere un collegamento simbolico:

Come usare Scollega a Rimuovi un collegamento simbolico

La sintassi è:

Questo elimina il collegamento simbolico se il processo ha esito positivo.

Anche se il collegamento simbolico ha la forma di una cartella, non aggiungere “/”, perché Linux lo supporrà “una directory e unlink non può” t eliminare le directory.

Come usare rm per rimuovere un collegamento simbolico

Come abbiamo visto, un collegamento simbolico è solo un altro file o cartella che punta a un file o una cartella originale. Per rimuovere tale relazione, puoi rimuovere il file collegato.

Quindi, la sintassi è:

Ad esempio:

Tieni presente che provare a eseguire rm james/ restituirà un errore, perché Linux presumerà che “james /” sia una directory, che richiederebbe altre opzioni come r e f. Ma non è quello che vogliamo. Un collegamento simbolico può essere una cartella, ma ci interessa solo il nome.

Il vantaggio principale di rm su unlink è che puoi rimuovere più link simbolici contemporaneamente, come puoi fare con i file.

Come trovare ed eliminare link interrotti

Link interrotti si verifica quando il file o la cartella a cui punta un collegamento simbolico cambia percorso o viene eliminato.

Ad esempio, se “transaction.txt” si sposta da /home/james a /home/james/personal, il collegamento “trans.txt” viene interrotto. Ogni tentativo di accesso al file comporterà un errore “Nessun file o directory tale”. Questo perché il collegamento non ha contenuti di proprio.

Quando si scoprono collegamenti interrotti, è possibile eliminare facilmente il file. Un modo semplice per trovare collegamenti simbolici interrotti è:

Questo elencherà tutti i collegamenti simbolici interrotti nella directory james, dai file alle directory alle sottodirectory.

Il passaggio dellopzione -delete li eliminerà in questo modo:

Conclusione

I collegamenti simbolici sono una caratteristica interessante dei sistemi Linux e UNIX.

È possibile creare collegamenti simbolici facilmente accessibili per fare riferimento a un file o una cartella a cui altrimenti non sarebbe conveniente accedere. Con un po di pratica, capirai come funzionano a livello intuitivo e ti renderanno molto più efficiente nella gestione dei file system.

Lascia un commento

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