Un collegamento simbolico (simbolico) è un tipo di file che punta ad altri file o directory (cartelle) in Linux.
Puoi creare un collegamento simbolico (simbolico) usando il ln comando nella riga di comando.
I collegamenti simbolici sono utili perché fungono da collegamenti a un file o una directory.
In questo articolo, analizzerò come utilizzare ln comando per creare un collegamento simbolico a un file o una directory.
Qual è la differenza tra soft e hard link in Linux?
Un collegamento software o un collegamento simbolico punterà al file originale sul sistema. Un collegamento reale creerà una copia del file.
I collegamenti soft possono puntare ad altri file o directory su un file system diverso, mentre i collegamenti reali non possono.
Come creare un collegamento simbolico a un file
Puoi trovare la riga di comando utilizzando l'applicazione Terminale su Mac o utilizzando il prompt dei comandi su Windows.
Ecco la sintassi di base per creare un collegamento simbolico a un file nel tuo terminale.
ln -s existing_source_file optional_symbolic_link
Usi il ln comando per creare i collegamenti per i file e il -s opzione per specificare che questo sarà un collegamento simbolico. Se ometti -s opzione, verrà invece creato un collegamento reale.
Il file_origine_esistente rappresenta il file sul tuo computer per il quale desideri creare il collegamento simbolico.
Il parametro optional_symbolic_link è il nome del collegamento simbolico che si desidera creare. Se omesso, il sistema creerà un nuovo collegamento per te nella directory corrente in cui ti trovi.
Diamo un'occhiata a un esempio per capire meglio come funziona.
Sul mio desktop ho un file chiamato example_fcc_file.txt .
Dovrò prima aprire il mio terminale e quindi assicurarmi di essere nella directory Desktop. Posso eseguire il comando cd Desktop per accedere al mio desktop.
Dopo aver eseguito quel comando, dovresti vedere che ora sei nel desktop.
jessicawilkins@Dedrias-MacBook-Pro-2 ~ % cd Desktop
jessicawilkins@Dedrias-MacBook-Pro-2 Desktop %
Posso quindi usare il ln comando per creare un nuovo collegamento simbolico chiamato fcc_link.txt .
ln -s example_fcc_file.txt fcc_link.txt
Quando esegui quel comando nel terminale, noterai che non è stato restituito nulla. Questo perché quando il ln comando ha esito positivo, non ci sarà alcun output e restituirà zero.
jessicawilkins@Dedrias-MacBook-Pro-2 Desktop % ln -s example_fcc_file.txt fcc_link.txt
jessicawilkins@Dedrias-MacBook-Pro-2 Desktop %
Per verificare che il tuo collegamento simbolico sia andato a buon fine, puoi utilizzare ls comando. Il ls il comando elencherà le informazioni sui file e il -l flag rappresenta il collegamento simbolico.
ls -l fcc_link.txt Quando esegui quel comando, dovresti vedere questo tipo di risultato nel terminale.
lrwxr-xr-x 1 jessicawilkins staff 20 Feb 19 19:56 fcc_link.txt -> example_fcc_file.txt
Il fcc_link.txt -> example_fcc_file.txt parte dell'output mostra che il collegamento simbolico punta al file chiamato example_fcc_file.txt .
Dovresti anche vedere il nuovo link simbolico nella tua directory.
Come creare un collegamento simbolico a una directory
In questo esempio, vogliamo creare un collegamento simbolico chiamato my_music che punterà alla mia cartella Musica nella directory home del mio computer.
Innanzitutto, assicurati di essere nella directory home. Puoi eseguire cd per tornare alla tua home directory nella riga di comando.
jessicawilkins@Dedrias-MacBook-Pro-2 Desktop % cd
jessicawilkins@Dedrias-MacBook-Pro-2 ~ %
È quindi possibile utilizzare il ln comando per creare un collegamento simbolico alla directory Musica.
ln -s /Users/jessicawilkins/Music ~/my_music
In caso di successo, dovresti vederlo nella home directory.
Come rimuovere un collegamento simbolico
Per rimuovere il collegamento simbolico puoi utilizzare il unlink o rm comando.
Se volessimo rimuovere il fcc_link.txt collegamento simbolico che abbiamo creato in precedenza, quindi possiamo utilizzare uno di questi comandi:
rm fcc_link.txt unlink fcc_link.txt Ora dovremmo vedere che il collegamento simbolico è stato rimosso dalla nostra directory.
Come sovrascrivere i collegamenti simbolici
Se proviamo a creare un nuovo collegamento simbolico chiamato fcc_link.txt , risulterà in un errore perché è già in uso e punta a un altro file.
ln: fcc_link.txt: File exists
Puoi sovrascrivere questo errore usando la forza (-f ) opzione.
ln -sf example_fcc_file.txt fcc_link.txt Come saperne di più sul comando ln
Se vuoi saperne di più su ln comando, quindi puoi leggerlo in man pagine (manuale per l'utilizzo dei comandi Linux).
Esegui man ln nel tuo terminale e dovresti vedere le pagine man per ln comando.
LN(1) BSD General Commands Manual LN(1)
NAME
link, ln -- make links
SYNOPSIS
ln [-Ffhinsv] source_file [target_file]
ln [-Ffhinsv] source_file ... target_dir
link source_file target_file
DESCRIPTION
The ln utility creates a new directory entry (linked file) which has the same modes as the original file. It is
useful for maintaining multiple copies of a file in many places at once without using up storage for the
``copies''; instead, a link ``points'' to the original copy. There are two types of links; hard links and sym-
bolic links. How a link ``points'' to a file is one of the differences between a hard and symbolic link.
The options are as follows:
-F If the target file already exists and is a directory, then remove it so that the link may occur. The -F
option should be used with either -f or -i options. If none is specified, -f is implied. The -F option
is a no-op unless -s option is specified.
-h If the target_file or target_dir is a symbolic link, do not follow it. This is most useful with the -f
option, to replace a symlink which may point to a directory.
-f If the target file already exists, then unlink it so that the link may occur. (The -f option overrides Conclusione
Un collegamento simbolico (simbolico) è un tipo di file che punta ad altri file o directory (cartelle) in Linux. Puoi creare un collegamento simbolico (simbolico) usando il ln comando nella riga di comando.
I collegamenti simbolici sono utili perché fungono da collegamenti a un file o una directory.
Ecco la sintassi di base per creare un collegamento simbolico a un file utilizzando il terminale:
ln -s existing_source_file optional_symbolic_link Ecco la sintassi di base per creare un collegamento simbolico a una directory utilizzando il terminale:
ln -s path_to_existing_directory name_of_symbolic_link
Per rimuovere il collegamento simbolico puoi utilizzare il unlink o rm comando:
rm name_of_symbolic_link unlink name_of_symbolic_link Se devi rimuovere un collegamento simbolico, puoi utilizzare questo comando:
ln -sf path_to_existing_directory name_of_symbolic_link Spero che questo articolo sui collegamenti simbolici ti sia piaciuto e buona fortuna per il tuo viaggio di programmazione.