Hur skapar jag hårda länkar Linux?

How Create Hard Links Linux



Att länka är en intressant funktion i Linux. I UNIX-liknande operativsystem är allt en fil. En fil är i grunden en länk till en inod, en speciell typ av datastruktur som lagrar allt om en viss fil utom dess ursprungliga namn och faktiska innehåll. Detta är den funktion som länkar utnyttjar. Att skapa en länk är att skapa en annan fil som pekar på samma underliggande inod som en annan fil. I många situationer är det en oerhört användbar metod.

Kolla in hur du skapar hårda länkar i Linux.







Hårda länkar i Linux

Innan du dyker djupare, låt oss prata lite om hårda och mjuka länkar. Det finns några grundläggande skillnader mellan dem. När det gäller en hård länk kan den bara existera i samma filsystem, medan den symboliska länken kommer att kvarstå mellan filsystem. Dessutom kan det bara utföras på vanliga filer. Du kan inte heller skapa hårda länkar i katalogen, så det skapar inte en katalogslinga.



Om en fil av den hårda länken raderas tar den bort länken från den underliggande inoden.



Kommandot ls kan skriva ut inoden för en målfil/katalog.





$ls -vid <file_or_dir>

Skapa hårda länkar

Att skapa en hård länk är ganska enkelt. För att skapa länkar är ln det dedikerade verktyget som finns tillgängligt i nästan alla Linux -distros.



Använd följande kommandostruktur för att skapa en hård länk. Observera att destinationen ska ligga inom samma filsystem. -V -flaggan är för ordagrant läge.

$ln -v <källa> <länk>


Verifiera resultatet.

$ls -vid <mål>


När det gäller kataloghård länkning är det inte tillåtet. Hypotetiskt är det fortfarande möjligt att skapa, men de flesta Linux -distros inaktiverar den funktionen, även om du kör åtgärden med root -privilegium. För kataloglänkning, använd mjuka länkar.

Mjuka länkar

Mjuk länkning kallas vanligtvis för symboliska länkar. Mjuk länkning kan vara ett filsystem. Per definition är det inte en standardfil, utan snarare en fil som pekar på en befintlig fil. Här kommer den mjuka länkfilen att ha ett annat inodvärde, men den pekar på den ursprungliga filen.

Precis som att skapa hårda länkar kommer vi att använda ln -verktyget. För att deklarera att skapa en mjuk länk, lägg till -s flagga.

$ln -mot <källa> <destination>


Verifiera resultatet.

$ls -vid <mål>

Om det redan finns en länk kan du uppdatera den med -f -flaggan som tvingar ln att uppdatera länken utan någon bekräftelse. Alternativt kan du använda -i -flaggan för att skapa interaktiva länkar.

$ln -sf <källa> <destination>


Glöm inte att verifiera resultatet.

$ls -vid <mål>

Hitta länkar

Förutsatt att det finns flera länkar till samma fil kan det bli svårt att hålla reda på dem. I en sådan situation, använd den här metoden för att ta reda på alla länkar.

För detta behöver vi inodvärdet för den ursprungliga filen. Använd följande kommando för att ta reda på inodnumret.

$ls -vid <target_file>


Använd nu inodnumret för att ta reda på alla länkar till den filen. Här bör den aktuella aktiva katalogen vara katalogen där den ursprungliga filen finns.

$hitta.-inum <inode_value>

Radera länkar

Om du vill inaktivera en hård länk är sättet att göra det genom att radera den länkade filen.

$rm <länk>

Slutgiltiga tankar

Att länka är ett kraftfullt verktyg som du kan använda i många situationer. Även om det har sina egna begränsningar, kan det erbjuda utmärkta fördelar för många scenarier.

Intresserad av mer ingående om ln-kommandot? Kolla in hur du använder kommandot ln.

Lycka till med datorer!