Een koppeling in een op UNIX gebaseerd systeem wordt gebruikt om verbinding tot stand te brengen tussen een bestand en de feitelijke gegevens op de schijf. Het is meer een wijzer of een referentie die naar een ander bestand of een map wijst, net als het concept van wijzers in programmeertalen.
Laten we zeggen dat een bestand een erg lange naam heeft en om een aantal redenen niet kan worden gewijzigd. In UNIX kunnen we naar het bestand verwijzen met een verwijzing naar een kortere naam voor gebruiksgemak. Deze verwijzingen naar hetzelfde bestand in UNIX worden koppelingen genoemd. Eenvoudig gezegd, een link is een middel om naar de inhoud van een bestand te verwijzen.
Er zijn twee soorten links gebruikt in UNIX: Soft Links en Hard Links. Beide worden in principe voor hetzelfde doel gebruikt, behalve de manier waarop ze zich gedragen.
Een Soft Link of een symbolische roze is een klein pointerbestand dat een bestandsnaam aan de padnaam koppelt. Het is niets anders dan een snelkoppeling naar het oorspronkelijke bestand, vergelijkbaar met de sneltoetsoptie in de Windows-besturingssystemen. Het dient gewoon als een verwijzing naar een ander bestand of een andere map zonder de daadwerkelijke inhoud van het bestand, waardoor het eenvoudig is om de zachte links te verwijderen zonder zelfs de inhoud van het originele bestand of de oorspronkelijke map te beïnvloeden..
Eenvoudig gezegd is een softlink meestal een alias voor het oorspronkelijke bestand dat wordt omgeleid naar het doelbestand of de doelmap wanneer deze wordt geopend via de padnaam die is opgegeven in het onderwerp van de softlink. Bovendien kunt u softlinks gebruiken om over het bestandssysteem te linken.
Een harde koppeling is eenvoudigweg een replica van het oorspronkelijke bestand dat dient als een verwijzing of verwijzing naar hetzelfde bestand, waardoor het gemakkelijk toegankelijk is, zelfs als het oorspronkelijke bestand wordt verwijderd of verplaatst vanaf de oorspronkelijke locatie. In tegenstelling tot zachte links, zullen wijzigingen in de hard gelinkte bestanden effect hebben op andere bestanden en de harde link werkt nog steeds, zelfs als u het bronbestand uit het systeem verwijdert.
Harde koppelingen delen dezelfde Inodewaarde en in tegenstelling tot zachte links verwijzen ze naar de bestandslocatie in plaats van de map. Het wordt meestal gebruikt in de bestandssystemen die meer dan op een harde koppeling voor hetzelfde bestand toestaan. Simpel gezegd, een harde link is slechts een extra naam voor een reeds bestaand bestand op UNIX-gebaseerde systemen.
Een zachte link, ook wel een symbolische link genoemd, is een speciale aanwijzer die koppelingen tussen bestanden tot stand brengt. Het lijkt erg op de sneltoetsfunctie die beschikbaar is in de Windows-besturingssystemen. Een zachte koppeling is eenvoudigweg een snelkoppeling van een bestand dat dient als een verwijzing naar een ander bestand of een andere map. Een harde koppeling is heel anders dan een zachte link. Het dient als een verwijzing of aanwijzer naar het originele bestand, wat betekent dat het de exacte kopie is van het oorspronkelijke bestand waarnaar het verwijst. Simpel gezegd, een harde link is slechts een extra naam voor een bestaand bestand.
Omdat een gekoppeld bestand een afzonderlijke Inode-waarde bevat die naar het oorspronkelijke bestand verwijst, wordt de koppeling ontoegankelijk als het oorspronkelijke bestand of de oorspronkelijke map uit het systeem wordt verwijderd. Het is slechts een snelkoppeling naar een bestand, zodat u de zachte koppelingen kunt verwijderen zonder dat dit daadwerkelijk invloed heeft op het oorspronkelijke bestand of de oorspronkelijke map. In tegenstelling tot softlinks delen harde koppelingen dezelfde Inodewaarde als het origineel dat naar dezelfde bestandslocatie verwijst. Harde koppelingen zijn flexibeler dan zachte koppelingen, omdat u toegang tot het bestand kunt krijgen, zelfs als het oorspronkelijke bestand uit het systeem is verwijderd.
Als u koppelingen wilt maken tussen bestanden in een op UNIX gebaseerd systeem, moet u de opdracht "In" gebruiken. Een zachte koppeling verwijst naar een symbolisch pad dat de locatie van het oorspronkelijke bestand aangeeft, maar niet de inhoud. Een zachte koppeling wordt aangemaakt met een "In -s" -opdracht.
In -s
Hier zou je het 'source_file' vervangen door het originele bestand waarvoor je een softlink wilt maken en 'myfile' met de naam van de softlink of symbolic link en de opdracht In -s maakt de softlink naar een bestand naam, beide in de huidige map.
Aan de andere kant wordt het commando "In" gebruikt om een harde koppeling te maken. De opdracht In is een standaard UNIX-opdracht die wordt gebruikt om een harde koppeling te maken naar meerdere bestanden met dezelfde naam.
In
In tegenstelling tot softlinks die kunnen worden gebruikt om zowel bestanden als mappen te koppelen, kunnen harde koppelingen alleen bestanden maar geen mappen koppelen. Het verschil geeft zachte links bepaalde eigenschappen die harde koppelingen niet hebben, zoals de mogelijkheid om via het bestandssysteem te linken. Het maken en verwijderen van symbolische koppelingen heeft geen invloed op het oorspronkelijke bestand. Harde links daarentegen kunnen niet worden gebruikt om bestanden buiten het bestandssysteem te linken. Harde koppelingen delen dezelfde Inodewaarde met de werkelijke inhoud van het bestand, dus het verwijderen van een link heeft geen invloed op andere links en het toont nog steeds de inhoud van het bestand.
In een notendop, zowel softlinks als harde links laten meer dan één bestandsnaam toe om ergens anders naar hetzelfde bestand te verwijzen, maar het verschil zit hem in de manier waarop ze zich gedragen wanneer de bronlink uit het systeem wordt verwijderd. Een harde koppeling neemt minder ruimte in dan een zachte koppeling, maar elke wijziging in de harde koppeling zal uiteindelijk in het oorspronkelijke bestand tot uiting komen, terwijl eventuele wijzigingen in de zachte koppeling geen effect hebben op het oorspronkelijke bestand. Een softlink is als een snelkoppeling van het Windows-besturingssysteem dat wordt gebruikt als een alias om naar het oorspronkelijke bestand of de oorspronkelijke map te verwijzen, terwijl een harde koppeling lijkt op een replica van het oorspronkelijke bestand dat twee bestanden in hetzelfde bestandssysteem koppelt.