Soft (Symbolic) Link vs Hard Link

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:

érintse meg a LinuxHintFile
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:

Ln LinuxHintFile Link2LHFile

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:

LS-i

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:

find-type f-links +1

inódes fájlokat is találhat, ehhez a futtatáshoz:

keresés . -inum <InodeNumber>

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:

ln-s LinuxHintDirectory LHDLink

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.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.