Мека (символна) връзка срещу твърда връзка

Soft Link Vs Hard Link



Символичните връзки (наричани още меки връзки) и Твърдите връзки са ресурс за достъп до файлове или директории от всяко място. Тази статия ще опише разликите между символни връзки и твърди връзки.

Твърди връзки

Твърдите връзки не са файл, съдържащ пътя към оригиналния файл, а огледални копия на оригиналния файл, към който сочат. Файл и неговите твърди връзки не са свързани с името или пътя, а с inode, който съхранява информация за файла, като например местоположението, датата на създаване, разрешенията и други атрибути. Всеки номер на inode е уникален в рамките на файлова система, предотвратявайки работата на твърди връзки между различни дялове или системи. Твърдите връзки не могат да се използват за свързване на директории.







За разлика от меките връзки, твърдите връзки съдържат информацията, към която свързват, така че ако оригиналният файл бъде премахнат, все още имате достъп до неговите данни.



Във всички системи на Linux се създават твърди и символни връзки с командата Ин . За да започнете, първо създайте файл, наречен LinuxHintFile и директория, наречена LinuxHintDirectory както е показано на изображението по -долу:



докосванеLinuxHintFile
rmkdir LinuxHintDirectory
ls
корен@Linux Съвет:/У дома/linuxhint#





За да създадете твърда връзка, наречена Link2LHFile, към файла LinuxHintFile изпълнете в терминала:

ИнLinuxHintFile Link2LHFile



След проверка с ls виждаме твърдата връзка, която току -що създадохме, ако въведете ls -i ще видите inodes на файловете, можете да потвърдите, че току -що създадената връзка има същия номер на inode от оригиналния файл, въведете:

ls

Както казахме по -горе, не можем да използваме твърди връзки за директории, нито връзки към други томове или файлови системи, ще свържем LinuxHintDirectory с мека връзка.

Можете да намерите твърди връзки в работната директория, като стартирате:

намирам -Типе-връзки+1

Можете също да намерите файлове по inodes, за това изпълнение:

намирам.-инум <InodeNumber>

Както виждате, той намери както оригиналния файл, така и твърдата връзка, споделящи същия номер на inode.

Меки връзки

За разлика от твърдите връзки, меките връзки не са копия на оригиналния файл, те съдържат пътя към оригиналния файл, поради което ако оригиналният файл бъде премахнат, меката връзка или символичната връзка няма да сочат към файл, който да се превърне в прекъсната връзка, или осиротяла връзка, което означава, че ако загубите изходния файл, ако го изтриете или преместите, символичната връзка ще загуби достъп до информацията, докато при твърдата връзка информацията остава въпреки премахването на изходния файл, защото е пълна и точна копие на този файл.

Също така, за разлика от твърдите връзки, символните връзки не споделят същия inode с оригиналния файл, поради което символичната връзка може да пресича томове и файлови системи, докато твърдите връзки не могат. Символичните връзки могат да се използват за свързване на директории, докато с твърди връзки това не е възможно.

С програмата се създават и символични връзки Ин , но за да бъде връзката символична/мека, трябва да посочим параметъра , за да създадете символична връзка към директорията LinuxHintDirectory, наречена LHDLink run:

Ин LinuxHintDirectory LHDLink

И след това бягайте „ ls -i “, За да проверите дали е създаден правилно:

Както виждаме в този случай символната връзка е създадена, но има различен номер на inode от оригиналния файл.

Можем да изброим символични връзки в директория с командата ls -l

На изображението по -горе можем да видим в разрешенията на първия файл префикса на за символни връзки, краят на реда също показва към кой файл сочи символната връзка.

Надявам се, че сте намерили тази статия за полезна, за да разберете разликите между твърдите и символните връзки и как да ги създадете. Следвайте LinuxHint за още съвети и актуализации за Linux.