Verschil tussen harde koppeling en zachte koppeling

Schrijver: Laura McKinney
Datum Van Creatie: 1 April 2021
Updatedatum: 1 Kunnen 2024
Anonim
Onderhoudstip - de koppeling
Video: Onderhoudstip - de koppeling

Inhoud


De koppelingen in Unix zijn in wezen de verwijzingen naar de bestanden en mappen. Het grote verschil tussen een hardlink en softlink is dat hardlink de directe verwijzing naar het bestand is, terwijl softlink de referentie op naam is, wat betekent dat het verwijst naar een bestand op bestandsnaam.

Harde koppeling koppelt de bestanden en mappen in hetzelfde bestandssysteem, maar de Soft link kan de grenzen van het bestandssysteem overschrijden.

Voordat we links begrijpen, moeten we eerst begrijpen inode, een inode is een gegevensstructuur bestaande uit metagegevens over het bestand, zoals de aanmaakdatum van het bestand, bestandsautorisaties, de eigenaar van het bestand en meer.

  1. Vergelijkingstabel
  2. Definitie
  3. Belangrijkste verschillen
  4. Gevolgtrekking

Vergelijkingstabel

Basis voor vergelijkingHarde link
Soft link
basis-Een bestand is toegankelijk via veel verschillende namen die bekend staan ​​als harde links.Een bestand kan worden geopend via verschillende verwijzingen die naar dat bestand verwijzen, ook wel een softlink genoemd.
Linkvalidatie, wanneer het originele bestand is verwijderdNog steeds geldig en bestand is toegankelijk.
Ongeldig
Commando gebruikt voor creatieln
ln-s
inode nummerDezelfde
verschillend
Kan worden gekoppeld Naar zijn eigen partitie.Naar elk ander bestandssysteem zelfs via een netwerk.
Geheugen consumptieMinderMeer
Relatief padNiet toepasbaartoegestaan


Definitie van harde link

Harde links koppel twee bestanden rechtstreeks in hetzelfde bestandssysteem en voor identificatie gebruikt het het inode-nummer van het bestand. Harde links kunnen niet in mappen worden geïmplementeerd (omdat ze naar inode wijzen). Wanneer "ln”Commando wordt gebruikt om een ​​harde link te genereren, het creëert een ander bestand op de opdrachtregel dat kan worden gebruikt om naar het oorspronkelijke bestand te verwijzen. Zowel het originele als het gegenereerde bestand hebben dezelfde inode en inhoud; daarom hebben ze dezelfde machtigingen en dezelfde eigenaar.

Het verwijderen van het originele bestand heeft geen invloed op het hardgekoppelde bestand en er blijft een hardgekoppeld bestand achter. De inode heeft een teller om het aantal harde koppelingen naar zichzelf te berekenen. Wanneer de teller de waarde 0 aangeeft, wordt de inode geleegd. Wanneer u wijzigingen aanbrengt in de harde koppeling, wordt deze in het oorspronkelijke bestand nagebootst.


Definitie van Soft link

Zachte koppelingen zijn meestal een alternatief pad (of een alias) voor het originele bestand; deze worden ook wel aangeduid als symbolische links. Het bevat de naam van het "doelbestand" van de link, vlag die aangeeft dat het een zachte link is. Wanneer een bestand wordt geopend, wordt de softlink doorgestuurd naar het doelbestand via het pad dat in het onderwerp van de softlink is geschreven.

Deze zijn erg handig in het geval van Windows OS waarbij de softlink zich als snelkoppelingen gedraagt. Het maken en verwijderen van de softlinks heeft geen invloed op het oorspronkelijke bestand. Als het doelbestand wordt verwijderd, bungelt de softlink, wat betekent dat deze nergens naar wijst en een fout genereert wanneer het doelbestand wordt geopend. Soft links gebruiken geen inode-nummer, in tegenstelling tot harde link. Een absoluut of een relatief pad zou een deel van de symbolische links kunnen zijn.

  1. Een harde link is een extra naam van het originele bestand dat verwijst naar inode om toegang te krijgen tot het doelbestand.Soft link is daarentegen anders dan het oorspronkelijke bestand en is een alias voor het oorspronkelijke bestand, maar gebruikt geen inode.
  2. Wanneer een origineel bestand wordt verwijderd, wordt de softlink ongeldig, terwijl een harde link geldig is, zelfs als het doelbestand is verwijderd.
  3. In Linux is het commando dat wordt gebruikt voor het maken van een harde link:ln“. In tegenstelling tot het commando dat wordt gebruikt voor een softlink is "ln-s“.
  4. Harde koppeling heeft hetzelfde inode-nummer dat verschilt van softlink, waarbij het doelbestand en de softlink een verschillend inode-nummer hebben.
  5. Harde links zijn beperkt tot zijn eigen partities, maar zachte links kunnen verschillende bestandssystemen omvatten.
  6. De prestaties van de hardlink zijn in sommige gevallen beter dan de softlink.
  7. Relatief pad en absoluut pad zijn beide toegestaan ​​in zachte koppelingen. Integendeel, het relatieve pad is niet toegestaan ​​in een harde link.

Gevolgtrekking

Een harde link vereist geen extra ruimte en mat lost sneller op, maar de wijzigingen die op een harde link worden toegepast, worden weerspiegeld in het oorspronkelijke bestand. Aan de andere kant heeft Soft link extra ruimte nodig, maar elke wijziging in de softlink heeft geen invloed op het oorspronkelijke bestand. Soft links zijn toegestaan ​​naar mappen in tegenstelling tot Hard link.