GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare un collegamento simbolico in Linux usando il comando Ln

Il collegamento simbolico è comunemente indicato come collegamento software o link simbolico , che è un tipo speciale di file che fa riferimento a un altro file o directory.

In questa guida imparerai come creare un collegamento simbolico in Linux usando il comando ln per creare collegamenti tra file.

Tipi di link

In Linux abbiamo 2 tipi di link:soft link e hard link.

Link reali: Un hard link è una replica di un file originale. Dà accesso ai dati nel file di destinazione. Un utente non può creare un collegamento fisico per una directory, solo per un file. Inoltre, i file con collegamento fisico hanno un numero di inode comune. Quando il file originale viene eliminato o rimosso, il collegamento reale continuerà a funzionare e conterrà il contenuto del file rimosso. È anche importante notare che i collegamenti reali non si estendono su file system diversi.

Link soft: A differenza di un collegamento fisico, un collegamento software è semplicemente un puntatore al nome di un file e non contiene il contenuto di un altro file o il file di destinazione a cui si fa riferimento. Se il file di destinazione viene rimosso o eliminato, il collegamento software cessa di esistere. Il lato positivo dei collegamenti software è che possono essere utilizzati per collegare un file o una directory e possono estendersi su diversi file system.

Come usare il comando ln

Il comando ln viene utilizzato per creare collegamenti tra file. Il comando, per impostazione predefinita, crea un collegamento fisico. Per creare un collegamento software è sufficiente aggiungere i -s opzione ( --simbolico ).

Sintassi:

ln [OPTION] TARGET LINK_NAME

Per evitare confusione, utilizzare il percorso assoluto (percorso relativo) del file di origine e di destinazione durante la creazione di un collegamento simbolico.

Come creare un collegamento simbolico a un file

Per creare un collegamento simbolico a un file, eseguire il comando seguente:

$ ln -s { OPTIONS } file symlink

Quando sia il file che il collegamento simbolico sono definiti, il comando ln crea un collegamento dal file che è il primo argomento del file definito nel secondo argomento link simbolico .

Ad esempio, per creare un collegamento simbolico a un file, utilizzare la sintassi,

$ ln -s  original_file symlink

Nota:ln non restituisce alcun output in caso di successo.

Nel comando, sostituisci il file_originale con il file esistente per il quale desideri creare il collegamento simbolico e il collegamento simbolico con il collegamento simbolico.

Facciamo un esempio reale:

$ ln -s  file1.txt   sample_link.txt

Il comando precedente crea un collegamento simbolico chiamato 'sample_link.txt' al file esistente 'file1.txt' nella directory corrente.

Per verificare la creazione del collegamento è sufficiente utilizzare il comando ls come mostrato:

$ ls -l sample_link.txt

Il tuo output dovrebbe assomigliare a quello che ho qui sotto:

lrwxrwxrwx 1 winnie  winnie 9 Jul 12 23:43 sample_link.txt -> file1.txt

Nelle autorizzazioni, il l flag indica che si tratta di un collegamento simbolico e il carattere - > indica che il collegamento simbolico punta al file file1.txt .

A volte i collegamenti simbolici non funzionano a causa dei problemi di percorso, suggerisci di utilizzare il percorso completo:

# absolute (full path)
ln -s /path/to/originals/originalfile1.txt backup/copy.txt

# relative
cd backup
ln -s ../originals/originalfile1.txt copy.txt

Come creare collegamenti simbolici a una directory

Creare un collegamento simbolico a una directory è facile come crearne uno a un file. La sintassi rimane sostanzialmente la stessa. Il primo argomento prende il nome della directory mentre il collegamento simbolico è specificato come secondo argomento.

La sintassi seguente è un esempio di come procederesti:

$ ln -s  /path/to/directory  ~/directory

Ad esempio, per creare un collegamento simbolico dalla directory /Downloads/music/ a ~/mia_musica esegui il comando:

$ ln -s  /Downloads/music  ~/my_music

Come sovrascrivere un collegamento simbolico

Sovrascrivere i link simbolici semplicemente invocando il comando ln senza argomenti aggiuntivi ti darà sempre un errore come mostrato:

Ad esempio, se provi a eseguire nuovamente il comando seguente:

$ ln -s  file1.txt   sample_link.txt

Verrà visualizzato l'errore:

ln: failed to create symbolic link 'sample_link.txt': File exists

Una soluzione alternativa a questo problema consiste nell'introdurre un'altra opzione -f o --force per sovrascrivere il percorso di destinazione del collegamento simbolico come mostrato:

$ ln -sf  file1.txt   sample_link.txt

Questa volta, la sovrascrittura del collegamento software non produrrà alcun errore.

Come rimuovere i collegamenti simbolici

Per eliminare i collegamenti simbolici Linux o i collegamenti simbolici, puoi utilizzare il comando rm o unlink comando. Ed è abbastanza facile. Per scollegare comando, utilizzare la sintassi seguente per rimuovere i collegamenti simbolici:

$ unlink symlink_to_be_removed

Rimuovere un collegamento software utilizzando il comando rm è esattamente lo stesso di quando si elimina o si rimuove un file normale:

$ rm symlink_to_be_removed

I link simbolici sono importanti?

In genere è una buona idea creare un collegamento simbolico a un file se vuoi ottenere uno dei seguenti risultati:

  1. Avere accesso a uno o più file da più posizioni senza creare copie duplicate che possono necessariamente occupare molto spazio su disco.
  2. Se si desidera conservare le versioni originali del file e assicurarsi che il collegamento punti all'ultima versione del file. Funziona perché il collegamento simbolico rimarrà attivo anche dopo aver sostituito il file con un altro file con lo stesso nome.

I programmi Linux utilizzano collegamenti simbolici, alias in modo che gli utenti non debbano sapere quale versione di codice utilizzata.

# which python
/usr/bin/python
# ls -l /usr/bin/python
lrwxrwxrwx. 1 root root 7 Feb 21 13:38 /usr/bin/python -> python2

Conclusione

I collegamenti simbolici e le scorciatoie standard sono simili ma esistono alcune differenze tra i due.

Una scorciatoia standard, come quella che troverai in Windows, è semplicemente un file normale che punta a una determinata directory, file o applicazione. Questa scorciatoia di solito appare come un'icona che può essere creata in qualsiasi posizione e, quando si fa clic su di essa, si apre il file, la directory o l'applicazione originali.

Un collegamento simbolico rappresenta effettivamente il file originale in senso funzionale. È un sostituto diretto di un oggetto come un file. Il tuo sistema Linux legge il collegamento simbolico Linux come se fosse l'oggetto di destinazione. Una normale scorciatoia fa semplicemente riferimento a un file oa una directory e non fa nient'altro.

Questo è tutto su come creare un collegamento simbolico in Linux e per ulteriori informazioni fare riferimento a man. Spero che ti sia piaciuto leggere e per favore lascia i tuoi commenti e suggerimenti.


Linux
  1. Come creare collegamenti rigidi e simbolici in Linux

  2. Come creare uno script di un comando Linux

  3. Come creare snapshot del filesystem utilizzando Snapper Command su Linux

  4. Come dividere iso o file usando il comando "split" in Linux

  5. Come allegare un file usando il comando mail su Linux?

Come creare un alias in Linux

Linux ln – Come creare un collegamento simbolico in Linux [Esempio di comando Bash]

Come creare un file in Linux usando Terminal

Come bloccare un file di testo in Linux usando il comando flock

Come creare un file in Ubuntu Linux usando comando e GUI

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