L'hard link collega i file e le directory nello stesso file system, ma il collegamento Soft può attraversare i confini del file system.
Prima di capire i collegamenti dovremmo prima capire l' inode, un inode è una struttura di dati composta da metadati sul file come data di creazione del file, autorizzazioni di file, proprietario del file e altro.
Grafico comparativo
Base per il confronto | Hard link | Collegamento morbido |
---|---|---|
Di base | Un file è accessibile attraverso molti nomi diversi conosciuti come hard link. | È possibile accedere a un file tramite diversi riferimenti che indicano che il file è noto come collegamento software. |
Convalida del collegamento, quando il file originale viene eliminato | Ancora valido e il file è accessibile. | Non valido |
Comando utilizzato per la creazione | ln | ln -s |
numero di inode | Stesso | Diverso |
Può essere collegato | Alla sua propria partizione. | A qualsiasi altro file system anche in rete. |
Consumo di memoria | Di meno | Di Più |
Percorso relativo | Non applicabile | Permesso |
Definizione di hard link
Gli hard link collegano direttamente due file nello stesso file system e per l'identificazione utilizza il numero di inode del file. Gli hard link non possono essere implementati nelle directory (poiché indicano l'inode). Quando il comando " ln " è utilizzato per generare un hard link, crea un altro file sulla riga di comando che può essere usato per riferirsi al file originale. Sia il file originale che quello generato hanno lo stesso inode e il medesimo contenuto; quindi avranno le stesse autorizzazioni e lo stesso proprietario.
La rimozione del file originale non influenza il file collegato, e rimarrà un file collegato. L'inode contiene un contatore, per calcolare il numero di collegamenti reali a se stesso. Quando il contatore indica il valore 0, l'inode viene svuotato. Ogni volta che si apportano modifiche al collegamento fisico, esso verrà imitato nel file originale.
Definizione di Soft link
I collegamenti software sono di solito un percorso alternativo (o un alias) per il file originale; questi sono anche indicati come collegamenti simbolici . Include il nome del "file di destinazione" del collegamento, flag che specifica che si tratta di un collegamento software. Quando si accede a un file, il collegamento software lo reindirizza al file di destinazione attraverso il percorso scritto nell'oggetto del collegamento software.
Questi sono molto utili in caso di Windows OS in cui il collegamento soft si comporta come scorciatoie. La creazione e la cancellazione dei collegamenti software non influiscono sul file originale. Se il file di destinazione viene eliminato, il soft link ciondola il che significa che non punta da nessuna parte e genera un messaggio di errore quando si accede al file di destinazione. I collegamenti software non utilizzano il numero di inode, a differenza del collegamento fisico. Un percorso assoluto o relativo potrebbe essere una parte dei collegamenti simbolici.
Differenze chiave tra hard link e soft link
- Un hard link è un nome aggiuntivo del file originale che fa riferimento a inode per accedere al file di destinazione. Al contrario, il collegamento software è diverso dal file originale ed è un alias del file originale ma non utilizza l'inode.
- Quando un file originale viene eliminato, il collegamento software non è più valido mentre un collegamento reale è valido anche se il file di destinazione viene eliminato.
- In Linux, il comando utilizzato per la creazione di hard link è " ln ". Come contro, il comando utilizzato per un collegamento software è " ln -s ".
- L'hard link ha lo stesso numero di inode diverso dal soft link, in cui il file di destinazione e il suo collegamento soft hanno un numero di inode distinto.
- Gli hard link sono limitati alle proprie partizioni, ma i soft link possono coprire diversi file system.
- In alcuni casi, le prestazioni del collegamento fisico sono migliori rispetto al collegamento software.
- Il percorso relativo e il percorso assoluto sono entrambi consentiti nei collegamenti software. Al contrario, il percorso relativo non è consentito in un collegamento fisico.
Conclusione
Un hard link non richiede spazio extra e la risoluzione mat più veloce, ma le modifiche applicate a un hard link si riflettono nel file originale. D'altra parte, il collegamento software richiede spazio aggiuntivo, ma qualsiasi modifica nel collegamento software non ha alcun impatto sul file originale. I collegamenti software sono consentiti alle directory, a differenza del collegamento fisso.