6. Nimeviidad ja “kõvade” linkide piirangud

Nüüd tuleb meil vastu astuda ühele isegi UNIX® kasutajate seas väga levinud väärarvamusele, nagu oleks lingid, mida me seni käsitlesime (ja mida ekslikult kutsutakse “kõvadeks” linkideks), seotud ainult tavaliste failidega, mis aga pole sugugi nii — isegi nimeviidad on “lingitud”. Selleks tuleb meil aga kõigepealt selgitada, mis siis on nimeviidad ehk “pehmed” lingid (või ka “sümbolviidad”).

Nimeviidad on sellist tüüpi failid, mille ainus sisu on sõne, mis osutab kas olemasolevale või olematule failile. Kui Te kasutate nimeviita käsureal või programmis, siis Te tegelikult kasutate faili, millele see viitab, kui see on olemas. Näide:

$ echo Tere >minufail
$ ln -s minufail minulink
$ ls -il
total 4
169 -rw-rw-r--   1 queen  queen  6 Dec 10 21:30 minufail
416 lrwxrwxrwx   1 queen  queen  6 Dec 10 21:30 minulink -> minufail
$ cat minufail
Tere
$ cat minulink
Tere

Nagu näete, on faili minulink tüübiks l, mis tähendabki Link. Nimeviida kasutamisõigused pole eriti olulised, need on alati rwxrwxrwx. Te näete ka seda, et see erineb failist minufail, sest nende infosõlmenumber on erinev. Kuid see viitab just tollele failile, mistõttu käsku cat minulink andes lasete Te tegelikult näidata faili minufail sisu. Selgitamaks, et nimeviit sisaldab suvalist sõnet, võime ette võtta järgmist:

$ ln -s "Ma olen olematu fail" teinelink
$ ls -il teinelink
418 lrwxrwxrwx    1 queen     queen           20 Dec 10 21:43 teinelink 
-> Ma olen olematu fail
$ cat teinelink
cat: teinelink: No such file or directory
$

Nimeviitade olemasolu mõte on selles, et nii saab vabaneda teatud piirangutest, mis on omased tavalistele (“kõvadele”) linkidele:

Niisiis on nimeviidad mitmel juhul väga kasulikud ning sageli kiputakse sel moel linkima faile ka juhul, kui võiks kasutada tavalist linki. Tavalise lingi eeliseks on samas see, et Te ei kaota faili, kui kustutate “originaali”.

Ja lõpuks: kui Te jälgisite meie arutelu tähelepanelikult, on lihtne aru saada, et nimeviit on väga väike fail - selle suurus on kõigest vastava sõne suurus.