In Linux/UNIX, a collegamento simbolico o collegamento software , indicato anche come a collegamento simbolico , è uno strumento utile per collegare file o directory da posizioni diverse. Simile a un puntatore nella programmazione C, un collegamento simbolico indirizza al file originale da una posizione alternativa. La creazione di collegamenti simbolici è facilitata dal comando ln. Tuttavia, è importante notare che un collegamento simbolico funzionerà solo se il file originale esiste nel sistema. Se il file originale viene eliminato accidentalmente, il file del collegamento simbolico diventa inutilizzabile.
Vantaggi di Symlink
Symlink presenta molti altri vantaggi che lo rendono più affidabile ed efficiente in termini di utilizzo.
- È più efficiente nel collegare i file attraverso il file system.
- Symlink ha un caso speciale in cui può anche creare un file di collegamento di una directory.
- Crea più punti di accesso per un file senza avere copie di accesso originali di un file.
- Il kernel controlla il nome file di un file di collegamento e va direttamente al file originale come se il kernel attraversasse lo spazio dei nomi per l'utente.
Svantaggi di Symlink
Symlink presenta alcuni svantaggi in termini di utilizzo.
- Lo svantaggio maggiore di un collegamento simbolico è che non si collega direttamente a un file.
- Non è possibile utilizzare il file di collegamento simbolico se il file originale viene eliminato o modificato.
- La possibilità di collegamento simbolico può essere morta o in sospeso dopo aver creato più file.
Collegamenti morbidi e collegamenti reali
Base | Collegamenti morbidi | Collegamenti reali |
---|---|---|
Numero di inode | I soft link hanno numeri di inode diversi. | Gli hard link hanno lo stesso numero di inode. |
Creazione di file | È possibile creare collegamenti software per file e directory. | Non è possibile creare collegamenti reali per la directory. |
Dati | I collegamenti software possono essere utilizzati solo finché non sono presenti i file e le directory originali. | I collegamenti reali possono essere utilizzati dopo l'eliminazione del file. |
Sistema di file | I soft link possono essere utilizzati nel file system. | I collegamenti fisici non possono essere utilizzati nel file system. |
Autorizzazione file | L'autorizzazione del file originale (-rw-r–r–) e l'autorizzazione del file di collegamento (lrwxrwxrwx) sono diverse nei collegamenti software. | Entrambi i file hanno le stesse autorizzazioni negli Hard link. |
Come collegare simbolicamente un file in Linux?
Passo 1: Per collegare simbolicamente un file, dobbiamo innanzitutto creare un file denominato gfgfile
touch gfgfile>
` tocco Il comando ` viene utilizzato per creare un file.

tocco
Passo 2 : Per creare un file di collegamento simbolico, possiamo usare il comando come:
ln -s [original file] [symbolic link file]>
- ln : crea un collegamento tra i file.
- -S : crea un collegamento simbolico di un file invece di un collegamento fisico.

ln -s
Passaggio 3 : Come potete vedere, ' gfgsym' indica la posizione del file originale.
ls -la>
` l Il comando ` viene utilizzato per elencare tutti i file e le directory.
Passaggio 4 : è possibile accedere alle informazioni utilizzando il file di collegamento.
cat gfgsym>
` gatto Il comando ` viene utilizzato per vedere il contenuto all'interno di un file.
Come collegare simbolicamente una directory in Linux?
Passo 1 : Per collegare simbolicamente una directory, dobbiamo innanzitutto creare una directory utilizzando il file comando mkdir .
mkdir gfg>

creare directory
Passo 2 : Creiamo un collegamento software alla directory utilizzando il file comando ln -s
ln -s gfg symgfg>

creare un collegamento software
test delle prestazioni
Passaggio 3 : Possiamo accedere facilmente alla directory dei collegamenti
ls -la | grep 'symgfg'>
Forza la sovrascrittura dei collegamenti simbolici
Passo 1 : Se proviamo a creare un collegamento simbolico già presente, verrà visualizzato un errore:
ln -s gfgfile gfgsym>
Passo 2 : Per sovrascrivere i collegamenti simbolici possiamo usare l'opzione -f o –force
ln -s -f gfgfile gfgsym1>

Sovrascrivi
Come rimuovere il file del collegamento simbolico?
Passo 1: Per rimuovere o scollegare un file di collegamento simbolico, puoi utilizzare il comando rm O scollegare
rm symlink_filename [or] unlink symlink_filename [or] rm symgfg>

rimuovere
Conclusione
In questo articolo abbiamo discusso dei collegamenti simbolici, strumenti preziosi in Linux/UNIX per collegare file e directory in posizioni diverse, funzionando come puntatori nella programmazione C. Tuttavia, i collegamenti simbolici dipendono dall'esistenza del file originale e diventano inutilizzabili se vengono eliminati accidentalmente. Nonostante questa limitazione, i collegamenti simbolici offrono vantaggi come collegamenti efficienti, la possibilità di creare collegamenti per directory e punti di accesso multipli per i file. Comprenderne le capacità e i limiti può migliorare notevolmente la gestione di file e directory nell'ambiente Linux/UNIX.