Diskhantering

Mjuk (symbolisk) länk vs hård länk

Mjuk (symbolisk) länk vs hård länk
Symboliska länkar (även kallade mjuka länkar) och hårda länkar är en resurs för åtkomst till filer eller kataloger från vilken plats som helst. Denna artikel kommer att beskriva skillnaderna mellan symboliska länkar och hårda länkar.

Hårda länkar

Hårda länkar är inte en fil som innehåller sökvägen till originalfilen utan spegelkopior av originalfilen de pekar på. En fil och dess hårda länkar är inte associerade med namnet eller sökvägen utan av inoden som lagrar information om filen, som dess plats, skapande datum, behörigheter och andra attribut. Varje inodnummer är unikt i ett filsystem som förhindrar hårda länkar från att fungera mellan olika partitioner eller system. Hårda länkar kan inte användas för att länka kataloger.

Till skillnad från mjuka länkar innehåller hårda länkar den information de länkar till, så om originalfilen tas bort kan du fortfarande få tillgång till dess data.

I alla Linux-system skapas både hårda och symboliska länkar med kommandot ”ln”. För att komma igång skapar du först en fil som heter LinuxHintFile och en katalog som heter LinuxHintDirectory som visas i bilden nedan:

tryck på LinuxHintFile
rmkdir LinuxHintDirectory
ls
root @ LinuxHint: / home / linuxhint #

Så här skapar du en hård länk som heter Link2LHFile till filen LinuxHintFile som körs i terminalen:

i LinuxHintFile Link2LHFile

Efter att ha kollat ​​med ls vi ser den hårda länken vi just skapade, om du skriver ls -i ser du filernas inoder kan du bekräfta att länken vi just skapade har samma inodnummer än originalfilen, skriv:

ls -i

Som vi sa ovan kan vi inte använda hårda länkar för kataloger eller länkar till andra volymer eller filsystem, vi länkar LinuxHintDirectory med en mjuk länk.

Du kan hitta hårda länkar i arbetskatalogen genom att köra:

hitta -typ f -länkar +1

Du kan också hitta filer efter inoder för den här körningen:

hitta . -inum

Som du ser hittade den både originalfilen och den hårda länken som delar samma inodnummer.

 

Mjuka länkar

Till skillnad från hårda länkar är mjuka länkar inte kopior av originalfilen, de innehåller sökvägen till originalfilen, på grund av detta om den ursprungliga filen tas bort kommer den mjuka länken eller symbolisk länk att peka på att ingen fil blir en trasig länk, eller en föräldralös länk, vilket betyder att om du förlorar källfilen, om du tar bort eller flyttar den kommer den symboliska länken att förlora åtkomst till informationen, medan den med den hårda länken förblir trots att källfilen tas bort eftersom den är en fullständig och exakt kopia av den filen.

I motsats till hårda länkar delar inte symboliska länkar samma inode med originalfilen, det är därför symbolisk länk kan korsa volymer och filsystem medan hårda länkar inte kan. Symboliska länkar kan användas för att länka kataloger medan det inte är möjligt med hårda länkar.

Symboliska länkar skapas också med programmet ln, men för att länken ska vara symbolisk / mjuk måste vi ange parametern -s, för att skapa en symbolisk länk till katalogen LinuxHintDirectory som heter LHDLink run:

ln -s LinuxHintDirectory LHDLink

Och kör sedan 'ls -iför att kontrollera att den skapades korrekt:

Som vi ser i detta fall skapades den symboliska länken, men den har ett annat inodnummer än originalfilen.

Vi kan lista symboliska länkar i en katalog med kommandot “ls -l

I bilden ovan kan vi se rättigheterna för den första filen prefixet “l”För symboliska länkar visar slutet på raden också till vilken fil de symboliska länkarna pekar.

Jag hoppas att du tyckte att den här artikeln var användbar för att förstå skillnader mellan hårda länkar och symboliska länkar och hur du skapar dem. Fortsätt följa LinuxHint för fler tips och uppdateringar om Linux.

Installera senaste Dolphin Emulator för Gamecube & Wii på Linux
Dolphin Emulator låter dig spela dina valda Gamecube & Wii-spel på Linux Personal Computers (PC). Eftersom Dolphin Emulator är en fritt tillgänglig o...
Hur man använder GameConqueror Cheat Engine i Linux
Artikeln täcker en guide om hur du använder GameConqueror-fuskmotorn i Linux. Många användare som spelar spel på Windows använder ofta applikationen "...
Bästa spelkonsolemulatorer för Linux
Den här artikeln listar populära spelkonsolemuleringsprogram som finns tillgängliga för Linux. Emulation är ett mjukvarukompatibilitetsskikt som emule...