Thursday Feb 03, 2022

Skillnaden mellan hård länk och mjuk länk

Länkarna i Unix är i huvudsak pekare som associerar till filer och kataloger. Den stora skillnaden mellan en hård länk och en mjuk länk är att hård länk är den direkta referensen till filen medan mjuk länk är referensen via namnet vilket innebär att den pekar på en fil via filnamnet.

Hård länk kopplar ihop filer och kataloger i samma filsystem, men den mjuka länken kan korsa filsystemgränser.

För att förstå länkar bör vi först förstå inode, en inode är en datastruktur som består av metadata om filen, t.ex. filens skapelsedatum, filbehörigheter, filens ägare med mera.

Innehåll: Hard link Vs Soft link

  1. Sammanställning
  2. Definition
  3. Nyckelskillnader
  4. Slutsats

Sammanställning

.

Basis för jämförelse Hård länk Mjuk länk
Grundläggande En fil kan nås via många olika namn som kallas hårda länkar. En fil kan nås genom olika referenser som pekar på den filen kallas mjuk länk.
Länkvalidering, när den ursprungliga filen raderas Är fortfarande giltig och filen kan nås. Invalid
Kommando som används för skapande ln ln -s
nodnummer Samma Different
Kan länkas till en egen partition. Med vilket annat filsystem som helst, även i nätverk.
Historiekonsumtion Mindre Mer
Relativ sökväg Inte tillämpligt Tillåtet

Definition av hårdlänk

Hårdlänkar länkar direkt två filer i samma filsystem och för identifiering används filens inodnummer. Hard links kan inte implementeras på kataloger (eftersom de pekar på inode). När kommandot ”ln” används för att generera en hårdlänk skapas en annan fil på kommandoraden som kan användas för att hänvisa till den ursprungliga filen. Både den ursprungliga och den genererade filen har samma inode och innehåll; därför kommer de att ha samma behörigheter och samma ägare.

Obduktionen av den ursprungliga filen påverkar inte den hårt länkade filen, och en hårt länkad fil kommer att finnas kvar. Inoden innehåller en räknare för att beräkna antalet hårda länkar till sig själv. När räknaren visar ett 0-värde töms inoden. När du gör ändringar i hårdlänken kommer den att imitera i originalfilen.

Definition av mjuk länk

Mjuklänkar är vanligen en alternativ sökväg (eller ett alias) för originalfilen, dessa kallas också för symboliska länkar. Den innehåller namnet på länkens ”målfil”, flagga som anger att det är en mjuk länk. När en fil nås omdirigerar den mjuka länken den till målfilen genom den sökväg som skrivits i ämnet för den mjuka länken.

Dessa är mycket praktiska när det gäller Windows OS där den mjuka länken beter sig som genvägar. Skapande och radering av de mjuka länkarna påverkar inte den ursprungliga filen. Om målfilen tas bort hänger den mjuka länken kvar, vilket innebär att den pekar ingenstans och genererar ett felmeddelande när målfilen nås. Mjuka länkar använder inte inodnummer, till skillnad från hårda länkar. En absolut eller relativ sökväg kan vara en del av de symboliska länkarna.

Nyckelskillnader mellan hård länk och mjuk länk

  1. En hård länk är ett ytterligare namn på originalfilen som hänvisar till inode för att komma åt målfilen. Däremot är soft link distinkt från originalfilen och är ett alias till originalfilen men använder inte inode.
  2. När en originalfil raderas blir soft link ogiltig medan en hard link är giltig även om målfilen raderas.
  3. I Linux är kommandot som används för att skapa hard link ”ln”. Kommandot som används för en mjuk länk är däremot ”ln -s”.
  4. Hård länk har samma inodnummer till skillnad från mjuk länk, där målfilen och dess mjuka länk har olika inodnummer.
  5. Hårda länkar är begränsade till sina egna partitioner, men mjuka länkar kan täcka olika filsystem.
  6. Hårdlänkens prestanda är i vissa fall bättre än den mjuka länkens.
  7. Relativ sökväg och absolut sökväg är båda tillåtna i mjuka länkar. Däremot är den relativa sökvägen inte tillåten i en hård länk.

Slutsats

En hård länk kräver inte extra utrymme och matten löser sig snabbare, men de ändringar som tillämpas på en hård länk återspeglas i den ursprungliga filen. Å andra sidan behöver en mjuk länk extra utrymme, men ändringar i den mjuka länken påverkar inte originalfilen. Mjuka länkar är tillåtna till kataloger till skillnad från hårda länkar.

Lämna ett svar

Din e-postadress kommer inte publiceras.

Back to Top