
A kemény link a fájlokat és könyvtárakat ugyanarra a fájlrendszerre kapcsolja, de a Soft link átmásolhatja a fájlrendszer határait.
A linkek megértése előtt először meg kell értenünk az inode-ot, az inode egy olyan adatszerkezet, amely a fájl metaadataiból áll, mint például a fájl létrehozásának dátuma, a fájlengedélyek, a fájl tulajdonosa és így tovább.
Összehasonlító táblázat
Az összehasonlítás alapja | Kemény kapcsolat | Lágy kapcsolat |
---|---|---|
Alapvető | A fájl számos különböző nevet érhet el, amelyeket kemény kapcsolatoknak neveznek. | A fájl különböző hivatkozásokon keresztül érhető el, amelyek arra utalnak, hogy a fájl lágy linkként ismert. |
Link validálás, ha az eredeti fájlt törli | Még mindig érvényes és a fájl elérhető. | Érvénytelen |
A teremtéshez használt parancs | ln | ln -s |
inode szám | Azonos | Különböző |
Kapcsolható | Saját partíciójához. | Bármely más fájlrendszerhez még hálózatba is kapcsolható. |
Memóriafelhasználás | Kevésbé | Több |
Relatív út | Nem alkalmazható | Engedélyezett |
A kemény kapcsolat meghatározása
A kemény linkek közvetlenül összekapcsolják a két fájlt ugyanabban a fájlrendszerben, és azonosításhoz a fájl inode számát használja. A kemény hivatkozásokat nem lehet a könyvtárakon végrehajtani (mivel az inode-ra mutat). Amikor az „ ln ” parancsot használják egy kemény hivatkozás létrehozására, akkor létrehoz egy másik fájlt a parancssorból, amely az eredeti fájl hivatkozására használható. Mind az eredeti, mind a létrehozott fájl ugyanolyan inode és tartalma van; így ugyanazok a jogosultságok és ugyanaz a tulajdonos lesz.
Az eredeti fájl eltávolítása nem befolyásolja a kemény összekapcsolt fájlt, és egy kemény összekapcsolt fájl marad. Az inode rendelkezik egy számlálóval, hogy kiszámolja a magához kötődő kemény linkek számát. Ha a számláló 0 értéket jelez, az inode kiürül. Ha módosítja a kemény linket, akkor az eredeti fájlban lesz.
A Soft link meghatározása
A lágy hivatkozások általában az eredeti fájl alternatív útvonala (vagy alias); ezeket szimbolikus linkeknek is nevezik. Tartalmazza a hivatkozás „célfájl” nevét, amely jelzi, hogy ez egy lágy hivatkozás. Amikor egy fájl elérése után a lágy hivatkozás átirányítja azt a célfájlra a lágy hivatkozás tárgyában írt útvonalon.
Ezek nagyon hasznosak a Windows operációs rendszer esetén, ahol a lágy hivatkozás parancsikonként viselkedik. A soft linkek létrehozása és törlése nem érinti az eredeti fájlt. Ha a célfájl törlésre kerül, akkor a lágy link lezáródik, ami azt jelenti, hogy sehol nem jelenik meg, és hibaüzenetet generál a célfájl elérésekor. A lágy hivatkozások nem használják a inode számot, a hard linkektől eltérően. Abszolút vagy relatív út lehet a szimbolikus kapcsolatok egy része.
A Hard link és a Soft link közötti különbségek
- A kemény hivatkozás az eredeti fájl egy további neve, amely inode-ra utal a célfájl elérésére. Ezzel ellentétben a lágy hivatkozás különbözik az eredeti fájltól, és az eredeti fájl álneve, de nem használja az inode-ot.
- Amikor egy eredeti fájl törlésre kerül, a soft link érvénytelenné válik, míg a kemény link akkor is érvényes, ha a célfájl törlődik.
- Linux alatt a kemény kapcsolat létrehozására használt parancs „ ln ”. Ezzel szemben a lágy hivatkozáshoz használt parancs „ ln -s ”.
- A kemény link ugyanolyan inode-számmal rendelkezik, mint a lágy link, ahol a célfájl és a lágy link különálló inode-számmal rendelkezik.
- A kemény linkek saját partícióira korlátozódnak, de a lágy linkek különböző fájlrendszereket is lefedhetnek.
- A kemény kapcsolat teljesítménye bizonyos esetekben jobb, mint a lágy kapcsolat.
- A relatív pálya és az abszolút útvonal egyaránt megengedett a soft linkekben. Éppen ellenkezőleg, a relatív útvonal nem engedélyezett egy kemény kapcsolatban.
Következtetés
A merev link nem igényel extra helyet, és gyorsabban oldja meg a szőnyeget, de a kemény linkre alkalmazott változtatások az eredeti fájlban tükröződnek. Másrészről, a Soft linknek több helyet kell igénybe vennie, de a soft link bármilyen változása nem befolyásolja az eredeti fájlt. A Soft linkek megengedik a könyvtárakat a Hard linktől eltérően.