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å LinuxHintFilermkdir 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 LHDLinkOch 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.