linky

David Rohleder davro na ics.muni.cz
Čtvrtek Květen 4 10:41:54 CEST 2000


satko na quanto.uniag.sk (Jan Satko) writes:

> Zdravim.
> Mohol by mi prosim niekto vysvetlit ako funguju hard-soft linky ?
> 
> Mam particu o velkosti 0.
> Vytvorim subor jano - velkosti 5kb.
> Ked spravim spravim soft linku alebo hard-linku velkost particie sa
> nezmeni. Lenze ked zmazem subor tak soft-linka hlasi error. Ale hardlinka
> obsahuje normalne subor. resp ta hardlinka sa sprava ako normalny subor.
> 
> Takze mi z toho vyplyva ze hardlinka asi vytvori nove i-node ktore smeruje
> na ten isty subor. A ked zmazem original, zmazal som vlastne iba druhe
> i-node. Ale ked hard-linka vytvara nove i-node (ak to spravne chapem) co
> potom vytvara soft-linka ?

Skoro presne. Nejlepsi je precist si nejakou knizku o unixu, kde je to
napsane (Brodsky, Skocovsky: Operacni system unix ... , Skocovsky:
UNIX, POSIX, Plan 9, Maurice Bach: Principy operacniho systemu unix).

Inode obsahuje vsechny potrebne informace o souboru ulozenem na disku
(neni tam ovsem jeho jmeno).

Jmeno souboru je polozka v adresari, ktera ma dve casti: 
jmeno, cislo i-node

Pri vytvoreni souboru se vytvori i-node a polozka v adresari.
Hardlink prida do (vetsinou jineho) adresare jinou polozku s jinym
jmenem, ale stejnym cislem i-node (v i-node se zvetsi pocet odkazu o
1).

Softlink je specialni soubor, ktery ve svem tele ma odkaz na jiny
soubor v textove podobe (pokud je ten odkaz kratky, tak ho muze mit
odkonce i v i-node).

Pri mazani polozky v adresari se jadro podiva, kolik ma i-node jeste
odkazu (pokud >1 tak soubor nemaze, pokud ne, tak maze) - to plati pro
hardlinky. Neni zadny rozdil mezi puvodnim souborem a vytvorenym
hardlinkem.

Softlink nema na soubor zadnou specialni vazbu, takze, kdyz ho
smazete, tak proste bude symlink ukazovat do prazdna.


-- 
-------------------------------------------------------------------------
David Rohleder						davro na ics.muni.cz
Institute of Computer Science, Masaryk University
Brno, Czech Republic
-------------------------------------------------------------------------


Další informace o konferenci Linux