Hard link povezuje datoteke i direktorije u istom datotečnom sustavu, ali Soft link može prelaziti granice datotečnog sustava.
Prije razumijevanja linkova koje bismo trebali najprije razumjeti inode, inode je struktura podataka koja se sastoji od metapodataka o datoteci, kao što je datum stvaranja datoteke, autorizacija datoteke, vlasnik datoteke i još mnogo toga.
Tablica usporedbe
Osnova za usporedbu | Tvrda veza | Soft link |
---|---|---|
Osnovni, temeljni | Datoteci se može pristupiti kroz mnoga različita imena poznata kao tvrde veze. | Datoteci se može pristupiti putem različitih referenci koje upućuju na tu datoteku poznatu kao meka veza. |
Provjera valjanosti veze prilikom brisanja izvorne datoteke | Još uvijek je valjan i može se pristupiti datoteci. | Nevažeći |
Naredba koja se koristi za stvaranje | ln | ln-s |
inode broj | Isti | Različit |
Može se povezati | Na vlastitu particiju. | U bilo koji drugi datotečni sustav čak i umrežen. |
Potrošnja memorije | Manje | Više |
Relativni put | Nije primjenjivo | dopušteno |
Definicija tvrdih veza
Tvrde veze izravno povezuju dvije datoteke u istom datotečnom sustavu i za identifikaciju koristi inode broj datoteke. Tvrde veze se ne mogu implementirati na direktorijima (jer ukazuju na inode). Kada se " ln " naredba koristi za generiranje tvrde veze, ona stvara naredbu u naredbenom retku koja se može koristiti za upućivanje izvorne datoteke. I izvorna i generirana datoteka imaju isti inode i sadržaj; stoga će imati iste dozvole i isti vlasnik.
Uklanjanje izvorne datoteke ne utječe na tvrdu povezanu datoteku i ostat će čvrsta povezana datoteka. Inode sadrži brojač, kako bi izračunao broj tvrdih veza sa samim sobom. Kada brojač označava vrijednost 0, inode se prazni. Kad god napravite bilo kakve promjene na čvrstoj vezi, imitirat će se u izvornoj datoteci.
Definicija meke veze
Soft linkovi su obično alternativni put (ili pseudonim) za izvornu datoteku; oni se također nazivaju simboličkim vezama . To uključuje naziv "ciljne datoteke" veze, koja označava da je to meka veza. Kada se pristupi datoteci, meka veza preusmjerava je na ciljnu datoteku putem putanje napisane u predmetu meke veze.
To su vrlo korisni u slučaju Windows OS gdje se meka veza ponaša kao prečice. Stvaranje i brisanje mekih veza ne utječe na izvornu datoteku. Ako je ciljna datoteka izbrisana, meka veza vise, što znači da ne pokazuje nigdje i generira poruku o pogrešci kada se pristupi ciljnoj datoteci. Soft linkovi ne koriste inode broj, za razliku od tvrdih veza. Apsolutni ili relativni put može biti dio simboličkih veza.
Ključne razlike između tvrdih i mekih veza
- Tvrda veza je dodatno ime izvorne datoteke koja upućuje inode za pristup ciljnoj datoteci. Nasuprot tome, meka veza razlikuje se od izvorne datoteke i pseudonim je izvorne datoteke, ali ne koristi inode.
- Kada se izvorna datoteka dobije izbrisana, meka veza postaje nevažeća, dok je čvrsta veza važeća čak i ako je ciljna datoteka izbrisana.
- U Linuxu, naredba koja se koristi za stvaranje tvrdog linka je " ln ". Nasuprot tome, naredba koja se koristi za meku vezu je " ln-s ".
- Tvrda veza ima isti broj inode različit od meke veze, gdje ciljna datoteka i njena meka veza imaju različit broj inode.
- Tvrde veze ograničene su na vlastite particije, ali meke veze mogu pokrivati različite datotečne sustave.
- Izvedba tvrdih veza je bolja od meke veze u nekim slučajevima.
- Oba relativna staza i apsolutni put su dopušteni u mekim vezama. Naprotiv, relativni put nije dopušten u čvrstoj vezi.
Zaključak
Teška veza ne zahtijeva brže rješavanje prostora i matiranje, ali promjene primijenjene na tvrdu vezu odražavaju se u izvornoj datoteci. S druge strane, Soft link zahtijeva dodatni prostor, ali svaka promjena u mekoj vezi ne utječe na izvornu datoteku. Soft linkovi su dopušteni direktorijima za razliku od Hard link.