Препоръчано, 2024

Избор На Редактора

Разлика между твърда връзка и меката връзка

Връзките в Unix са основно указатели, които се свързват с файловете и директориите. Основната разлика между твърдата връзка и меката връзка е, че твърдата връзка е директната препратка към файла, докато меката връзка е препратката по име, което означава, че сочи към файл по име на файл.

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

Преди да разберем връзките, които трябва първо да разберем inode, inode е структура от данни, състояща се от метаданни за файла, като дата на създаване на файл, оторизация на файл, собственик на файла и др.

Сравнителна таблица

Основа за сравнениеТвърда връзка
Мека връзка
ОсновенФайлът може да бъде достъпен чрез много различни имена, известни като твърди връзки.Файлът може да бъде достъпен чрез различни препратки, сочещи към този файл, известен като мека връзка.
Проверка на връзката, когато оригиналният файл е изтритВсе още е валиден и файлът може да бъде достъпен.
невалиден
Команда, използвана за създаванеВъ
ln-s
inode номерЕдин и същ
Различен
Може да бъде свързанКъм собствения си дял.За всяка друга файлова система дори в мрежа.
Потребление на паметПо-малко| Повече ▼
Относителна пътекаНе е приложимоПозволен

Дефиниция на твърда връзка

Твърдите връзки директно свързват два файла в една и съща файлова система и за идентификация използва номера на inode на файла. Твърдите връзки не могат да бъдат изпълнявани в директории (тъй като те сочат към inode). Когато " ln " команда се използва за генериране на твърда връзка, тя създава друг файл в командния ред, който може да се използва за препращане на оригиналния файл. Както оригиналният, така и генерираният файл имат едно и също съдържание и съдържание; следователно те ще имат същите разрешения и същия собственик.

Премахването на оригиналния файл не влияе на твърдия свързан файл и твърд свързан файл ще остане. Inode държи брояч, за да изчисли броя на твърдите връзки към себе си. Когато броячът показва 0 стойност, тогава инодът се изпразва. Всеки път, когато правите някакви промени в твърдия линк, той ще имитира в оригиналния файл.

Дефиниция на мека връзка

Меките връзки обикновено са алтернативен път (или псевдоним) за оригиналния файл; те също се наричат символични връзки . Тя включва името на „целевия файл“ на връзката, който указва, че е мека връзка. Когато файлът е достъпен, меката връзка я препраща към целевия файл чрез пътя, написан в темата на меката връзка.

Те са много удобни в случай на Windows OS, където меката връзка се държи като преки пътища. Създаването и изтриването на меките връзки не засягат оригиналния файл. Ако целевият файл е изтрит, меката връзка се завърта, което означава, че не сочи никъде и генерира съобщение за грешка, когато се достигне до целевия файл. Меките връзки не използват inode номер, за разлика от твърдата връзка. Абсолютният или относителният път може да бъде част от символните връзки.

Ключови разлики между твърда връзка и мека връзка

  1. Твърда връзка е допълнително име на оригиналния файл, който се отнася до inode за достъп до целевия файл. За разлика от това, меката връзка е различна от оригиналния файл и е псевдоним на оригиналния файл, но не използва inode.
  2. Когато оригинален файл се изтрие, меката връзка става невалидна, докато твърдата връзка е валидна, дори ако целевият файл е изтрит.
  3. В Linux, командата, използвана за създаването на твърда връзка, е “ ln ”. Командата, използвана за мека връзка, е " ln -s ".
  4. Твърдата връзка има същия номер на индекс, различен от този на меката връзка, където целевият файл и неговата мека връзка имат различен номер на inode.
  5. Твърдите връзки са ограничени до неговите собствени дялове, но меките връзки могат да покриват различни файлови системи.
  6. Изпълнението на твърдата връзка е по-добро от меката връзка в някои случаи.
  7. Относителната пътека и абсолютният път са разрешени в меките връзки. Напротив, относителният път не е позволен в твърда връзка.

заключение

Твърдата връзка не изисква допълнително пространство и по-бързо решаване на задачите, но промените, приложени към твърда връзка, се отразяват в оригиналния файл. От друга страна, Soft link се нуждае от допълнително пространство, но всяка промяна в меката връзка не оказва влияние върху оригиналния файл. Меките връзки са позволени за директории, за разлика от Hard link.

Top