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 att komma åt 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 som de pekar på. En fil och det är svårt länkar är inte associerade med namnet eller sökvägen utan av inode som lagrar information om filen, som det är plats, skapningsdatum, behörigheter och andra attribut. Varje inodnummer är unikt i ett filsystem som förhindrar att hårda länkar fungerar 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 komma åt data.

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

touch LinuxHintFile
rmkdir LinuxHintDirectory
ls
root@LinuxHint:/home/linuxhint#

för att skapa en hård länk som heter Link2LHFile till filen LinuxHintFile körs i terminalen:

ln LinuxHintFile Link2LHFile

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

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 med inoder, för den här körningen:

hitta . – inum <InodeNumber>

som du ser det hittade både originalfilen och den hårda länken som delar samma inode-nummer.

mjuka länkar

i motsats till hårda länkar, mjuka länkar är inte kopior av den ursprungliga filen, de innehåller sökvägen till den ursprungliga filen, på grund av detta om den ursprungliga filen tas bort den mjuka länken eller symbolisk länk kommer att peka på någon fil blir en trasig länk, eller en föräldralös länk, vilket innebär att om du förlorar källfilen, om du tar bort eller flytta den symboliska länken kommer förlust tillgång till informationen, medan med den hårda länken informationen förblir trots källfilen borttagning eftersom det är en fullständig och exakt kopia av den filen.

även i motsats till hårda länkar delar symboliska länkar inte 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-i’ fö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 i behörigheterna för den första filen prefixet” l ” för symboliska länkar, slutet på raden visar också vilken fil den symboliska länken pekar på.

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

Lämna ett svar

Din e-postadress kommer inte publiceras.