GNU/Linux >> Linux Esercitazione >  >> Linux

Differenza tra soft link e hard link in Linux

Collegamento software

Un collegamento software (collegamento simbolico o collegamento simbolico) consente di associare un file a un altro. È simile a un collegamento in MS Windows in cui il file effettivo è residente da qualche parte nella struttura della directory ma potresti avere più collegamenti o puntatori con nomi diversi che puntano ad esso. Ciò significa che l'accesso al file tramite il nome del file effettivo o una qualsiasi delle scorciatoie produrrebbe un risultato identico. Ogni collegamento software ha un numero di inode univoco.

Un collegamento software può oltrepassare i limiti del file system e può essere utilizzato per collegare le directory.

Per creare un collegamento software per unix-admin come sys-admin nella stessa directory, utilizzare il comando ln con l'opzione -s:

$ cd /home/geek/
$ ln -s unix-admin sys-admin

dove:

  • unix-admin è un file esistente
  • sys-admin è collegato in modo soft a unix-admin

Dopo aver creato il collegamento, emettere ll con l'opzione -i. Notare la lettera l come primo carattere nella seconda colonna dell'output. Notare inoltre una freccia che punta dal file collegato al file originale. Ciò indica che sys-admin è semplicemente un puntatore a unix-admin. L'opzione -i mostra i numeri di inode associati nella prima colonna.

$ ll -i
3674110 lrwxrwxrwx 1 geek geek 10 Jan 12 11:03 sys-admin -> unix-admin
3674109 -rw-rw-r-- 1 geek geek 0 Jan 12 11:03 unix-admin

Se rimuovi il file originale (unix-admin in questo esempio), il collegamento sys-admin rimarrà ma punta a qualcosa che non esiste.

Collegamento fisico

Un hard link associa due o più file a un numero di inode singolo . Ciò consente ai file di avere autorizzazioni, proprietà, timestamp e contenuti dei file identici. Le modifiche apportate a uno qualsiasi dei file si riflettono sugli altri file collegati. Tutti i file contengono effettivamente dati identici.

Un collegamento fisico non può oltrepassare i limiti del file system e non può essere utilizzato per collegare le directory.

L'esempio seguente utilizza il comando ln e crea un collegamento fisico per il file "ubuntu-rocks" che si trova in /home/geek a "debian-os" nella stessa directory. Nota che il file "debian-os" non esiste, ma verrà creato.

$ cd /home/geek/
$ ln ubuntu-rocks debian-os

Dopo aver creato il collegamento, esegui ll con l'opzione -i:

$ ll -i
3674110 -rw-rw-r-- 2 geek geek 40 Jan 12 11:15 debian-os
3674110 -rw-rw-r-- 2 geek geek 40 Jan 12 11:15 ubuntu-rocks

Osserva la prima e la terza colonna. La prima colonna indica che entrambi i file hanno numeri di inode identici e la terza colonna indica che ogni file ha due collegamenti reali. "ubuntu-rocks"' indica "debian-os" e viceversa. Se rimuovi il file originale (ubuntu-rocks in questo esempio), avrai comunque accesso ai dati tramite il file collegato debian-os.


Linux
  1. Come creare collegamenti rigidi e simbolici in Linux

  2. Scopri la differenza tra i comandi "su" e "su -" in Linux

  3. Spiegazione di hard link e soft link in Linux

  4. Che cos'è Soft Links e Hard Links nel file system Linux

  5. Differenza tra file di dispositivo e driver di dispositivo

Qual è la differenza tra Linux e Unix?

Guida all'aggiunta di collegamenti simbolici Linux

Spiegazione di Soft Link e Hard Link in Linux con esempi

Il comando ln in Linux:crea collegamenti soft e hard

Hard link e soft link in Linux:tutto ciò che devi sapere

differenza tra netstat e ss in linux?