Nagu märgitud, loob selliseid faile kas süsteem või Teie masina välisseadmed. Me mainisime ka seda, et plokkseadmefailid puhverdatakse, sümbolseadmefailid aga mitte. Selle selgitamiseks sisestage seadmesse diskett ja andke kaks korda järgmine käsk:
$ dd if=/dev/fd0 of=/dev/null
Te näete järgmist: esimesel korral loeti kogu disketi sisu. Kui Te andsite käsu teist korda, ei hakatud disketti enam üldse kasutama, sest selle sisu puhverdati juba siis, kui Te andsite käsu esimest korda — ja Te ei võtnud kahe käsu vahel disketiga midagi ette.
Nüüd aga oletame, et tahate lasta trükkida suurt faili sel moel (jah, see on tõesti võimalik):
$ cat /suur/fail/kuskil >/dev/lp0
Selle käsu täitmine võtab ühepalju aega sõltumata sellest, kas annate käsu ühe, kaks või viiskümmend korda. Põhjuseks on see, et /dev/lp0
on sümbolseade, mille sisu ei puhverdata.
Sellel, et plokkseadmed puhverdatakse, on üks vahva kõrvalmõju: ei puhverdata mitte ainult lugemisi, vaid ka kirjutamisi. See võimaldab kirjutada ketastele asünkroonselt: kui Te kettale kirjutate, ei võeta kirjutamist otsekohe ette. See sooritatakse alles siis, kui Linux otsustab ette võtta riistvarale kirjutamise. Teatud failisüsteemides saab sellise käitumise muidugi nullida: vaadake lähemalt võtmete sync
ja async
kirjeldust manuaalileheküljel mount(8) ning ka Sektsioon 7, “Failiatribuudid” .
Lisaks on igal spetsiaalsel failil oma põhinumber ja lisanumber. Käsu ls -l väljundis näidatakse neid suuruse asemel, sest selliste failide korral ei ole suurusel õieti ju tähendust:
$ ls -l /dev/hdc /dev/lp0 brw-rw---- 1 queen cdrom 22, 0 Feb 23 19:18 /dev/hdc crw-rw---- 1 root root 6, 0 Feb 23 19:17 /dev/lp0
Siin on /dev/hdc
põhi- ja lisanumber vastavalt 22 ja 0, /dev/lp0
omad aga 6 ja 0. Pange tähele, et need numbrid on igal failikategoorial unikaalsed, mis tähendab, et olemas võib olla sümbolseade põhinumbriga 22 ja lisanumbriga 0 ning ka plokkseade põhinumbriga 6 ja lisanumbriga 0. Nende numbrite funktsiooniks on võimaldada kernelil seostada antud failidega (see tähendab, välisseadmetega, millele need failid viitavad) korrektsed operatsioonid: disketiseadet ei saa käsitleda samal moel nagu näiteks SCSI kõvaketast.