Разлика между Soft Link и Hard Link в UNIX в ОС

Връзка в UNIX базирана система се използва за установяване на връзка между файл и действителните данни на диска. По-скоро е като указател или препратка, която сочи към друг файл или директория, точно като концепцията за указатели в програмните езици.

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

Има два типа връзки, използвани в UNIX: Меки и твърди връзки. И двете се използват основно за една и съща цел, с изключение на начина, по който се държат.

Какво е Soft Link?

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

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

Какво е твърда връзка?

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

Твърдите връзки споделят една и съща стойност на Inode и за разлика от меките връзки, те посочват местоположението на файла вместо директорията. Обикновено се използва във файловите системи, които позволяват повече от твърда връзка за един и същ файл. Просто казано, твърдата връзка е само допълнително име за вече съществуващ файл в UNIX базирани системи.

Разлика между Soft Link и Hard Link в UNIX

значение

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

Поведение

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

команда

За да установите връзки между файлове в UNIX базирана система, трябва да използвате командата „In“. Мека връзка се отнася до символен път, който показва местоположението на оригиналния файл, но не и съдържанието. Създава се мека връзка с помощта на командата „In -s“.

В -и

Тук бихте заменили 'source_file' с оригиналния файл, за който искате да създадете мека връзка и 'myfile' с името на меката или символната връзка и командата In -s създава меката връзка към файл име, и двете в текущата директория.

От друга страна, командата “In” се използва за създаване на твърда връзка. Командата In е стандартна UNIX команда, използвана за създаване на твърда връзка за насочване към множество файлове с едно и също име.

в

структура

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

Soft Link vs. Hard Link: Сравнителна диаграма

Обобщение на Soft Link срещу Hard Link

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