A különbség a kemény link és a szimbolikus link között.
A kemény linkek és a szimbolikus hivatkozások közötti különbséget itt magyarázzuk el:
A szimbolikus hivatkozás minden olyan fájlra használt kifejezés, amely egy másik fájlra vagy könyvtárra hivatkozást tartalmaz abszolút vagy relatív elérési út formájában. A szimbolikus hivatkozáson keresztül végzett bármilyen változtatás hatással lesz az eredeti fájlra, azonban ha a szimbolikus hivatkozás törlődik az eredeti fájl még maradnak.
A merev hivatkozások kevesebb lemezterületet foglalhatnak el, mivel csak egy könyvtárbejegyzést foglalnak el, és ugyanazt az inode-ot osztják meg, mint az eredeti fájl, míg a szimbolikus hivatkozásnak saját inode-ra van szüksége a név tárolásához, amelyre mutat.
Ha egy merev hivatkozás törlődik, az a fájlt is törölheti, ha nem mutatnak más merev hivatkozások arra a fájlra.
Íme egy példa a szimbolikus hivatkozások és a kemény hivatkozások létrehozására:
Először hozzon létre egy fájlt:
$ echo 'Hello, World!' > myfile.txt
Hozzon létre egy merev hivatkozást hard-link
a myfile.txt
fájlhoz, ami azt jelenti, hogy "hozzon létre egy fájlt, amely ugyanarra az inode-ra mutat, amelyre a myfile.txt
mutat, használja az ln parancsot:
$ ln myfile.txt hard-link
Lágy hivatkozás létrehozása soft-link
a myfile.txt
fájlhoz, ami más szóval a fájlra mutatómyfile.txt
fájl létrehozását jelenti, ehhez az ln -s parancsot kell használni:
$ ln -s myfile.txt my-soft-link
Nézze meg, mi történik most, ha a myfile.txt
fájlt töröljük vagy áthelyezzük: a hard-link
továbbra is ugyanarra a fájlra mutat, és a későbbiekben nem érinti, míg a soft-link
most a semmire mutat.
Remélem, megtanultad, hogyan működnek a kemény és szimbolikus linkek, és hogyan hozhatod létre őket.