Qual è la differenza tra un hard link e un link simbolico?
maggio 10, 2017 – 5 min read
Ciao ancora. In questa introduzione agli hard link e ai link simbolici, cercheremo prima di imparare e definire il significato di ciascuno. Poi discuteremo le differenze tra i due.
Cos’è un hard link e cosa fa esattamente nella shell?
Un hard link è semplicemente un nome aggiuntivo per un file esistente su Linux o altri sistemi operativi Unix-like.
Ogni numero di hard link, e quindi ogni numero di nomi, può essere creato per ogni file. Gli hard link possono anche essere creati per altri hard link. Tuttavia, non possono essere creati per le directory, e non possono attraversare i confini del filesystem o passare attraverso le partizioni.
Forse l’applicazione più utile per gli hard link è permettere a file, programmi e script (cioè programmi brevi) di essere facilmente accessibili in una directory diversa dal file originale o dal file eseguibile (cioè, la versione di un programma pronta per l’esecuzione). Digitando il nome dell’hard link, il programma o lo script verrà eseguito allo stesso modo del suo nome originale. (http://www.linfo.org/hard_link.html)
Vuoi leggere questa storia più tardi? Salvatela in Journal.
Quindi cosa significa veramente questa definizione? Bene, puoi creare un hard link a un file esistente usando il comando ln nome_file hardlink. Ho fornito un esempio qui sotto della creazione di un hard link in azione. Nell’esempio qui sotto ho creato un hardlink aka un collegamento al file chiamato file1 con l’hardlink chiamato hlink1.
Ora lascia ls -i. In modo che elenchi tutti i file con inode.
INODE Definizione: L’inode è una struttura dati in un file system in stile Unix che descrive un oggetto del filesystem come un file o una directory. Ogni inode memorizza gli attributi e la posizione del blocco disco dei dati dell’oggetto. Gli attributi degli oggetti del filesystem possono includere metadati (tempi dell’ultimo cambiamento, accesso, modifica), così come i dati del proprietario e del permesso.
Le directory sono liste di nomi assegnati agli inode. Una directory contiene una voce per se stessa, il suo genitore e ciascuno dei suoi figli. (https://en.wikipedia.org/wiki/Inode)