Thursday Feb 03, 2022

Verschil tussen Hard link en Soft link

De links in Unix zijn in wezen de pointers die naar de bestanden en directories verwijzen. Het grote verschil tussen een hard link en een soft link is dat een hard link een directe verwijzing naar een bestand is, terwijl een soft link een verwijzing op naam is, wat betekent dat het verwijst naar een bestand op bestandsnaam.

Hard linkt de bestanden en directories in hetzelfde bestandssysteem, maar de soft link kan bestandssysteemgrenzen overschrijden.

Voordat we links begrijpen, moeten we eerst de inode begrijpen, een inode is een datastructuur die bestaat uit metadata over het bestand, zoals de aanmaakdatum, bestandsautorisaties, eigenaar van het bestand en meer.

Inhoud: Hard link Vs Soft link

  1. Vergelijkingsdiagram
  2. Definitie
  3. Key Differences
  4. Conclusie

Vergelijkingsdiagram

Basis voor vergelijking Harde link Zachte link
Basis Een bestand kan worden benaderd via veel verschillende namen die bekend staan als harde links. Een bestand kan worden benaderd via verschillende verwijzingen die naar dat bestand verwijzen, bekend als soft link.
Linkvalidatie, wanneer het oorspronkelijke bestand is verwijderd Blijft geldig en bestand kan worden benaderd. Invalid
Commando gebruikt voor maken ln ln -s
inode nummer Zelfde Verschillend
Kan worden gekoppeld aan een eigen partitie. Aan elk ander bestandssysteem, zelfs netwerk.
Geheugenverbruik Minder Meer
Relatief pad Niet van toepassing Toegestaan

Definitie van Hard-link

Hard-links koppelen rechtstreeks twee bestanden in hetzelfde bestandssysteem en gebruiken voor identificatie het incodenummer van het bestand. Hard links kunnen niet worden toegepast op directories (omdat die naar een inode verwijzen). Wanneer het “ln” commando wordt gebruikt om een hard link te genereren, maakt het een ander bestand aan op de commandoregel dat kan worden gebruikt om naar het originele bestand te verwijzen. Zowel het originele als het gegenereerde bestand hebben dezelfde inode en inhoud; ze zullen dus dezelfde permissies en dezelfde eigenaar hebben.

Het verwijderen van het originele bestand heeft geen invloed op het hard-link bestand, en er zal een hard-link bestand overblijven. De inode bevat een teller, om het aantal hard links naar zichzelf te berekenen. Wanneer de teller de waarde 0 aangeeft, dan wordt de inode geleegd. Wanneer u wijzigingen aanbrengt in de hard link, dan zal deze imiteren in het originele bestand.

Definitie van Soft link

Soft links zijn meestal een alternatief pad (of een alias) voor het originele bestand; deze worden ook wel symbolische links genoemd. Het bevat de naam van het “doelbestand” van de link, een vlag die aangeeft dat het om een soft link gaat. Wanneer een bestand wordt benaderd, leidt de soft link het door naar het doelbestand via het pad dat in het onderwerp van de soft link staat.

Deze zijn erg handig in het geval van windows OS waar de soft link zich gedraagt als snelkoppelingen. Het maken en verwijderen van de soft links heeft geen invloed op het originele bestand. Als het doelbestand wordt verwijderd, bungelt de soft link, wat betekent dat hij nergens naar wijst en een foutmelding genereert als het doelbestand wordt benaderd. Soft links gebruiken geen inode nummer, in tegenstelling tot hard links. Een absoluut of relatief pad kan deel uitmaken van de symbolische links.

Key verschillen tussen Hard link en Soft link

  1. Een hard link is een extra naam van het originele bestand die verwijst naar de inode om toegang te krijgen tot het doelbestand. Soft links daarentegen zijn anders dan de originele bestanden en zijn een alias voor de originele bestanden, maar gebruiken niet de inode.
  2. Wanneer een origineel bestand wordt verwijderd, wordt de soft link ongeldig, terwijl een hard link geldig blijft, zelfs als het doelbestand wordt verwijderd.
  3. In Linux is het commando dat wordt gebruikt voor het maken van een hard link “ln”. Het commando voor een soft link is “ln -s”.
  4. Hard link heeft hetzelfde inode nummer als soft link, waarbij het doelbestand en de soft link een verschillend inode nummer hebben.
  5. Hard links zijn beperkt tot de eigen partities, maar soft links kunnen betrekking hebben op verschillende bestandssystemen.
  6. De prestaties van hard link zijn in sommige gevallen beter dan die van soft link.
  7. Relatief pad en absoluut pad zijn beide toegestaan bij soft links. Integendeel, het relatieve pad is niet toegestaan in een hard link.

Conclusie

Een hard link vereist geen extra ruimte en mat sneller oplossen, maar de wijzigingen toegepast op een hard link weerspiegelen in het oorspronkelijke bestand. Soft links daarentegen hebben extra ruimte nodig, maar wijzigingen in de soft link hebben geen invloed op het originele bestand. Soft links zijn toegestaan naar directories in tegenstelling tot Hard link.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.

Back to Top