3. Lingid

Kõige parem on linke selgitada näite varal. Loome selleks ühe (tavalise) faili:

$ pwd
/home/queen/example
$ ls
$ touch a
$ ls -il a
32555 -rw-r--r--  1 queen queen 0 Aug  6 19:26 a

Käsu ls võti -i näitab meile infosõlmenumbrit, mis seisab väljundi esimesel väljal. Nagu näete, ei olnud kataloogis ühtegi faili, enne kui me lõime faili a. Veel pakub huvi kolmas väli, mis näitab faili linkide arvu (õigemini küll infosõlme linkide arvu).

Käsu touch a võib jagada kaheks eraldi toiminguks:

Anname nüüd järgmise käsu:

$ ln a b
$ ls -il a b
32555 -rw-r--r--  2 queen queen 0 Aug  6 19:26 a
32555 -rw-r--r--  2 queen queen 0 Aug  6 19:26 b
$

Me loome veel ühe lingi samale infosõlmele. Nagu näete, ei loonud me faili nimega b, vaid lisasime samasse kataloogi veel ühe lingi infosõlmele numbriga 32555 ja omistasime sellele lingile nime b. Käsu ls -l väljund näitab nüüd, et ühe lingi asemel on infosõlmel kaks linki.

Nüüd anname sellise käsu:

$ rm a
$ ls -il b
32555 -rw-r--r--  1 queen queen 0 Aug  6 19:26 b
$

Näeme, et kuigi me kustutasime “originaalfaili”, jäi infosõlm siiski alles. Aga nüüd on ainus link sellele fail nimega /home/queen/example/b.

See tähendab, et failil ei pruugi UNIX® korral nime ollagi, vaid see võib olla ka üks või mitu linki ühes või mitmes kataloogis.

Ka kataloogid salvestatakse infosõlmedes. Nende linkide arv langeb kokku neis leiduvate alamkataloogide arvuga. Selle põhjuseks on asjaolu, et kataloogil on vähemalt kaks linki: kataloog ise (kirje .) ja tema eellaskataloog (kirje ..). Nii on kahe alamkataloogiga kataloogil vähemalt neli linki: ., .. ja mõlema alamkataloogi lingid.

Tüüpiliseks näiteks failidest, mida ei lingita (s.t. neil pole nime), on võrguühendused. Te ei näe näiteks kunagi kuskil oma failipuus faili, mis vastaks Teie ühendusele Mandriva Linuxi veebileheküljega, kui palju Te ka ei otsiks. Ka siis, kui kasutate shellis toru, on olemas küll torule vastav infosõlm, aga mitte link. Veel üks näide nimeta infosõlme kohta ajutised failid. Te loote ajutise faili, avate selle ja siis eemaldate. Fail on olemas ajal, mil Te seda avatuna hoiate, kuid keegi teine ei saa seda avada (sest pole nime, mida avada). See tähendab ka seda, et kui rakendust peaks tabama krahh, eemaldatakse ajutised failid täiesti automaatselt.