szimbolikus linkek (más néven soft links) és Hard linkek egy erőforrás a fájlok vagy könyvtárak eléréséhez bárhonnan. Ez a cikk leírja a szimbolikus linkek és a kemény linkek közötti különbségeket.
kemény linkek
a kemény linkek nem az eredeti fájl elérési útját tartalmazó fájlok, hanem az eredeti fájl tükörmásolatai, amelyekre mutatnak. A fájl és a kemény linkek nem a név vagy az elérési út, hanem az inode, amely információkat tárol a fájlon, mint például a hely, a létrehozás dátuma, engedélyek és egyéb attribútumok. Minden inode szám egyedi egy fájlrendszeren belül, megakadályozva a kemény linkek működését a különböző partíciók vagy rendszerek között. A kemény linkek nem használhatók könyvtárak összekapcsolására.
a puha linkekkel ellentétben a kemény linkek tartalmazzák azokat az információkat, amelyekre hivatkoznak, így ha az eredeti fájlt eltávolítják, akkor továbbra is hozzáférhet az adatokhoz.
minden Linux rendszerben mind a kemény, mind a szimbolikus linkek az “ln”paranccsal jönnek létre. Az induláshoz először hozzon létre egy linuxhintfile nevű fájlt és egy linuxhintdirectory nevű könyvtárat az alábbi képen látható módon:
rmkdir LinuxHintDirectory
ls
root@LinuxHint:/home/linuxhint#
hogy hozzon létre egy kemény link nevű Link2LHFile a fájl LinuxHintFile fut a terminálon:
Az LS-sel való ellenőrzés után látjuk az imént létrehozott kemény linket, ha beírja az ls-i-t, látni fogja a fájlok inódjait, megerősítheti, hogy az imént létrehozott link ugyanaz inode szám, mint az eredeti fájl, írja be:
mint fentebb említettük, nem használhatunk kemény linkeket könyvtárakhoz, sem más kötetekhez vagy fájlrendszerekhez, a linuxhintdirectory-t egy puha linkkel kapcsoljuk össze.
kemény linkeket találhat a munkakönyvtárban a következő futtatással:
inódes fájlokat is találhat, ehhez a futtatáshoz:
amint látja, megtalálta mind az eredeti fájlt, mind a kemény linket, amely ugyanazt az inode számot osztja meg.
Soft linkek
a kemény linkekkel ellentétben a soft linkek nem az eredeti fájl másolatai, hanem az eredeti fájl elérési útját tartalmazzák, ezért ha az eredeti fájlt eltávolítják, a soft link vagy a szimbolikus link arra mutat, hogy egyetlen fájl sem válik megszakadt linkké, vagy árva linkké, ami azt jelenti, hogy ha elveszíti a forrásfájlt, ha törli vagy áthelyezi, a szimbolikus link elveszíti az információkhoz való hozzáférést, míg a kemény linknél az információ a forrásfájl eltávolítása ellenére is megmarad, mert ez a fájl teljes és pontos másolata.
a hard linkekkel ellentétben a szimbolikus linkek nem osztják ugyanazt az inode-ot az eredeti fájllal, ezért a szimbolikus link keresztezheti a köteteket és a fájlrendszereket, míg a kemény linkek nem. a szimbolikus linkek felhasználhatók könyvtárak összekapcsolására, míg a kemény linkek nem lehetségesek.
szimbolikus linkeket is létrehozunk az LN programmal, de ahhoz, hogy a link szimbolikus/puha legyen, meg kell adnunk a paramétert-s, hogy szimbolikus linket hozzunk létre a linuxhintdirectory nevű könyvtárhoz LHDLink run:
majd futtassa az ‘ls-i’ – t, hogy ellenőrizze, hogy megfelelően jött-e létre:
mint látjuk, ebben az esetben a szimbolikus link jött létre, de más inode szám, mint az eredeti fájl.
felsorolhatunk szimbolikus linkeket egy könyvtárban az “ls-l”paranccsal
a fenti képen az első fájl engedélyeiben láthatjuk az “l” előtagot a szimbolikus linkekhez, a sor vége azt is megmutatja, hogy a szimbolikus link melyik fájlra mutat.
remélem, hasznosnak találta ezt a cikket, hogy megértse a kemény linkek és a szimbolikus linkek közötti különbségeket, és hogyan hozza létre őket. Kövesse a Linuxhintet további tippekért és frissítésekért a Linuxon.