Твърди връзки
Твърдите връзки не са файл, съдържащ пътя към оригиналния файл, а огледални копия на оригиналния файл, към който сочат. Файлът и неговите твърди връзки не са свързани с името или пътя, а с inode, който съхранява информация за файла, като местоположение, дата на създаване, разрешения и други атрибути. Всеки номер на inode е уникален във файловата система, предотвратявайки работата на твърди връзки между различни дялове или системи. Твърдите връзки не могат да се използват за свързване на директории.
За разлика от меките връзки, твърдите връзки съдържат информацията, към която се свързват, така че ако оригиналният файл бъде премахнат, пак можете да получите достъп до неговите данни.
Във всички системи на Linux се създават както твърди, така и символни връзки с командата „ln”. За да започнете, първо създайте файл, наречен LinuxHintFile и директория, наречена LinuxHintDirectory както е показано на изображението по-долу:
докоснете LinuxHintFilermkdir LinuxHintDirectory
ls
root @ LinuxHint: / home / linuxhint #
За да създадете твърда връзка, наречена Link2LHFile към файла LinuxHintFile, изпълнен в терминала:
В LinuxHintFile Link2LHFile
След проверка с ls виждаме твърдата връзка, която току-що създадохме, ако напишете ls -i, ще видите inodes на файловете, можете да потвърдите, че току-що създадената връзка има същия номер на inode като оригиналния файл, тип:
ls -i
Както казахме по-горе, не можем да използваме твърди връзки за директории, нито връзки към други томове или файлови системи, ще свържем LinuxHintDirectory с мека връзка.
Можете да намерите твърди връзки в работната директория, като стартирате:
намери -тип f -връзки +1
Можете също да намерите файлове по inodes, за това изпълнение:
намирам . -inum
Както виждате, той намери както оригиналния файл, така и твърдата връзка, споделящи един и същ номер на inode.
Меки връзки
За разлика от твърдите връзки, меките връзки не са копия на оригиналния файл, те съдържат пътя към оригиналния файл, поради което, ако оригиналният файл бъде премахнат, меката връзка или символичната връзка ще сочи, че нито един файл не се превръща в счупена връзка, или осиротяла връзка, което означава, че ако загубите изходния файл, ако го изтриете или преместите, символната връзка ще загуби достъп до информацията, докато при твърдата връзка информацията остава въпреки премахването на изходния файл, защото е пълна и точна копие на този файл.
Също така, за разлика от твърдите връзки, символните връзки не споделят един и същ inode с оригиналния файл, затова символната връзка може да пресича томове и файлови системи, докато твърдите връзки не могат. Символичните връзки могат да се използват за свързване на директории, докато с твърди връзки това не е възможно.
С програмата се създават и символни връзки ln, но за да бъде връзката символична / мека, трябва да посочим параметъра -с, за да създадете символична връзка към директорията LinuxHintDirectory, наречена LHDLink run:
ln -s LinuxHintDirectory LHDLinkИ тогава тичайls -i'за да проверите дали е създаден правилно:
Както виждаме в този случай символичната връзка е създадена, но има различен номер на inode от оригиналния файл.
Можем да изброим символни връзки в директория с командата „ls -l”
На изображението по-горе можем да видим в разрешенията на първия файл префикса „л”За символни връзки, краят на реда също показва към какъв файл сочи символната връзка.
Надявам се, че тази статия ви е била полезна, за да разберете разликите между твърдите връзки и символните връзки и как да ги създадете. Продължавайте да следвате LinuxHint за повече съвети и актуализации за Linux.