Nei sistemi operativi simili a Unix come Linux, "tutto è un file" e un file è fondamentalmente un collegamento a un inode (una struttura di dati che memorizza tutto ciò che riguarda un file a parte il nome e il contenuto effettivo).
Un collegamento fisico è un file che punta allo stesso inode sottostante, come un altro file. Nel caso in cui elimini un file, rimuove un collegamento all'inode sottostante. Considerando che un collegamento simbolico (noto anche come collegamento software) è un collegamento a un altro nome di file nel filesystem.
Leggi anche :Come eseguire la gestione di file e directory
Un'altra importante differenza tra i due tipi di collegamenti è che i collegamenti fisici possono funzionare solo all'interno dello stesso filesystem mentre i collegamenti simbolici possono passare attraverso filesystem diversi.
Come creare collegamenti reali in Linux
Per creare un hard link in Linux, useremo ln utility . Ad esempio, il comando seguente crea un collegamento fisico denominato tp
nel file topprocs.sh
.
$ ls -l $ ln topprocs.sh tp $ ls -l


Guardando l'output sopra, usando il comando ls, il nuovo file non è indicato come un collegamento, è mostrato come un file normale. Ciò implica che tp
è solo un altro file eseguibile regolare che punta allo stesso inode sottostante di topprocs.sh
.
Per trasformare un hard link direttamente in un soft link, usa il -P
segnala in questo modo.
$ ln -P topprocs.sh tp
Come creare collegamenti simbolici in Linux
Per creare collegamenti simbolici in Linux, utilizzeremo la stessa utilità ln con -s
interruttore. Ad esempio, il comando seguente crea un collegamento simbolico denominato topps.sh
nel file topprocs.sh
.
$ ln -s ~/bin/topprocs.sh topps.sh $ ls -l topps.sh


Dall'output sopra, puoi vedere dalla sezione dei permessi dei file che topps.sh
è un collegamento indicato da l:
significa che è un collegamento a un altro nome di file.
Se il collegamento simbolico esiste già, potresti ricevere un errore, per forzare l'operazione (rimuovere il collegamento simbolico in uscita), utilizzare il -f
opzione.
$ ln -s ~/bin/topprocs.sh topps.sh $ ln -sf ~/bin/topprocs.sh topps.sh


Per abilitare la modalità dettagliata, aggiungi il -v
flag per stampare il nome di ogni file collegato nell'output.
$ ln -sfv ~/bin/topprocs.sh topps.sh $ $ls -l topps.sh


Questo è tutto! Dai un'occhiata ai seguenti articoli correlati.
- fdupes:uno strumento da riga di comando per trovare ed eliminare file duplicati in Linux
- 5 comandi utili per gestire i tipi di file e l'ora del sistema in Linux
In questo articolo, abbiamo imparato come creare collegamenti fisici e simbolici in Linux. Puoi porre qualsiasi domanda o condividere le tue opinioni su questa guida tramite il modulo di feedback qui sotto.