Rekommenderas, 2024

Redaktionen

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

Länkarna i Unix är i huvudsak de pekare som associerar till filerna och katalogerna. Den stora skillnaden mellan en hård länk och en mjuk länk är att den hårda länken är den direkta referensen till filen medan mjuk länk är referensen med namnet vilket betyder att den pekar på en fil efter filnamn.

Hård länk länkar filerna och katalogerna i samma filsystem, men den mjuka länken kan korsa filsystemgränserna.

Innan vi förstår länkar bör vi först förstå inod, en inod är en datastruktur bestående av metadata om filen, till exempel filskapningsdatum, filbehörigheter, ägare av filen och mer.

Jämförelsediagram

Grunder för jämförelseHård länk
Mjuk länk
GrundläggandeEn fil kan nås genom många olika namn som kallas hårda länkar.En fil kan nås via olika referenser som pekar på den filen kallas en mjuk länk.
Länkvalidering, när originalfilen raderasFortfarande giltig och fil kan nås.
Ogiltig
Kommando används för skapandeln
ln-s
inodnummerSamma
Annorlunda
Kan länkasTill sin egen partition.Till vilket annat filsystem som helst ensam.
MinneskonsumtionMindreMer
Relativ sökvägInte tillämpbarTillåten

Definition av hård länk

Hårda länkar länkar direkt två filer i samma filsystem och för identifiering används filens inodnummer. Hårda länkar kan inte implementeras i kataloger (eftersom de pekar på inod). När " ln " -kommandot används för att generera en hård länk skapas det en annan fil på kommandoraden som kan användas för att referera till den ursprungliga filen. Både den ursprungliga och den genererade filen har samma inod och innehåll. Därför kommer de att ha samma behörigheter och samma ägare.

Avlägsnandet av den ursprungliga filen påverkar inte den hårdlänkade filen och en hård länkad fil kvarstår. Inoden innehåller en räknare för att beräkna antalet hårda länkar till sig själv. När räknaren anger 0 värde, töms inoden. När du ändrar den hårda länken kommer den att imitera i originalfilen.

Definition av mjuk länk

Mjuka länkar är vanligtvis en alternativ väg (eller ett alias) för originalfilen; dessa kallas också som 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 är åtkomst omdirigerar den mjuka länken den till målfilen genom den sökväg som skrivs i ämnet för den mjuka länken.

Dessa är mycket praktiska vid Windows OS där den mjuka länken fungerar som genvägar. Skapandet och raderingen av de mjuka länkarna påverkar inte originalfilen. Om målfilen raderas dunker den mjuka länken vilket betyder att den pekar ingenstans och genererar ett felmeddelande när målfilen är tillgänglig. Mjuka länkar använder inte inodnummer, till skillnad från hård länk. En absolut eller en relativ väg kan vara en del av de symboliska länkarna.

Viktiga skillnader mellan hård länk och mjuk länk

  1. En hård länk är ett extra namn på den ursprungliga filen som refererar inoden för att komma åt målfilen. Däremot är mjuk länk distinkt med originalfilen och är ett alias till originalfilen men använder inte inod.
  2. När en originalfil får raderad mjuk länk blir ogiltig medan en hård länk är giltig även om målfilen raderas.
  3. I Linux är kommandot som används för att skapa en hård länk " ln ". Däremot är kommandot som används för en mjuk länk " ln -s ".
  4. Hård länk har samma inodnummer som inte är mjuk länk, där målfilen och dess mjuka länk har ett tydligt inodnummer.
  5. Hårda länkar är begränsade till egna partitioner, men mjuka länkar kan täcka olika filsystem.
  6. Utförandet av hård länk är bättre än mjuk länk i vissa fall.
  7. Relativ väg och absolut bana är båda tillåtna i mjuka länkar. Tvärtom är den relativa vägen inte tillåten i en hård länk.

Slutsats

En hård länk kräver inte extra utrymme och matta löser sig snabbare, men de ändringar som tillämpas på en hård länk reflekterar i originalfilen. Å andra sidan behöver mjuklänk extra utrymme, men någon förändring i den mjuka länken påverkar inte den ursprungliga filen. Mjuka länkar tillåts till kataloger till skillnad från hård länk.

Top