V Unix pomimo obychnyh fajlov i katalogov sushchestvuyut eshche i spe-
cial'nye fajly. Oni ispol'zuyutsya dlya oboznacheniya fizicheskih us-
trojstv komp'yutera. (ZHelezok). V sushchnosti, chto takoe fajl? |to
"nechto", kuda mozhno zapisyvat' dannye kak posledovatel'nost'
bajtov i schityvat' ih ottuda. I, znachit, vpolne estestvennym
vyglyadit, naprimer, fajl /dev/console - sootvetstvuyushchij kon-
sol'nomu terminalu. Vse, chto vyvoditsya v fajl /dev/console,
budet prosto poyavlyat'sya na ekrane terminala. Pri popytke chteniya
iz fajla /dev/console vy budete poluchat' (vnimanie!) ne to,
chto narisovano v dannyj moment na ekrane, a to, chto vvoditsya s
klaviatury. Poprobujte vypolnit' komandy
su
echo Privet > /dev/console
cat /dev/console
Ctrl-C
Dlya kazhdogo terminala unix-mashiny sushchestvuet sootvetstvuyushchij
emu fajl. Obychnym terminalam sootvetstvuyut fajly, kotorye
nazyvayutsya primerno tak:
/dev/contty01 ili /dev/tty02 ili /dev/ttyFD02 ili /dev/ttyS0
(i t.d., vozmozhny varianty)
Psevdoterminalam (oni emuliruyutsya, kogda vy vhodite v sistemu
po seti, posredstvom komand tipa telnet, rlogin) sootvetstvuyut
special'nye fajly
/dev/pty*, ili /dev/pty/*
Komanda who, ili who am i soobshchit vam, kak nazyvaetsya vash
sobstvennyj terminal.
Sushchestvuyut special'nye fajly, sootvetstvuyushchie zhestkomu disku v
celom (/dev/rdsk/m197_c0d0s7) i vsem ego razdelam
(/dev/dsk/m197_c0d0s*). Esli vy budete chitat' iz etih fajlov,
to poluchite vse bajtiki, kak oni lezhat na zhestkom diske, s
nulevogo cilindra i do poslednego... A esli vy v etot fajl
chto-nibud' zapishete, to poluchite (potom) bogatyj opyt po
pereformatirovaniyu i razmetke zhestkogo diska.
/dev/mem - fajl, izobrazhayushchij operativnuyu pamyat'.
/dev/audio - esli "zakatit'" v nego fajl zvukovogo formata
(*.wav, *.au, ...?) - to on budet ozvuchen dinami-
kom komp'yutera, a komanda cat /dev/audio budet
prinimat' vse, chto proiznositsya v mikrofon. Vpro-
chem, ya otvleksya, u nas ved' ne PC, ne Silicon
Graphic i ne SPARCstation.
/dev/zero - iz nego mozhno schitat' skol'ko ugodno nulevyh bajtov
/dev/null - a v nego mozhno pisat', i chitat' iz nego - tozhe, v
neogranichennyh kolichestvah i s neizmennym rezul'-
tatom: NULL - on i est' null. A v MSDOS ego analog
nazyvaetsya NUL.
Special'nye fajly byvayut dvuh tipov:
blochnye - zapis' i chtenie dopuskayutsya tol'ko blokami. Nap-
rimer, razdely diskov s fajlovoj sistemoj yavlyayutsya
takovymi.
ls -al /dev/fd*
brw-rw---- 1 root floppy 2, 28 Jul 18 1994 /dev/fd0H1440
brw-rw---- 1 root floppy 2, 32 Jul 18 1994 /dev/fd0H2880
brw-rw---- 1 root floppy 2, 12 Jul 18 1994 /dev/fd0H360
simvol'nye(besstrukturnye, syrye, row) - mozhno chitat' i pisat'
otdel'nymi bajtami. K nim otnosyatsya terminaly, mag-
nitnye lenty, neformatirovannye diski i razdely dis-
kov bez fajlovoj sistemy.
ls -al /dev/tty*
crw--w--w- 1 moshkow sys 4, 1 Jan 15 22:00 /dev/tty1
crw--w--w- 1 root root 4, 2 Jan 15 20:37 /dev/tty2
crw--w--w- 1 root root 4, 2 Jan 15 20:37 /dev/tty2
Razlichie - pervaya bukva v listinge komandy ls -l
Ponyatiya "razmer" u special'nogo fajla ne sushchestvuet. Ved' etot
fajl oboznachaet fizicheskoe ustrojstvo. Fakticheski eto ssylka
na sootvetstvuyushchij drajver. Vmesto dliny komanda ls pokazyvaet
dlya takih fajlov dva chisla: "mazhornyj" i "minornyj" nomera us-
trojstv. Budem schitat' dlya yasnosti, chto "mazhor" - eto poryadkovyj
nomer drajvera ustrojstva, a "minor" - vnutrennij nomer ustroj-
stva v tablice obsluzhivayushchego ego drajvera.
Sozdanie special'nyh fajlov
Obychno ih sozdavat' ne nuzhno - oni vse uzhe est' dlya vseh
izvestnyh nastoyashchih i budushchih ustrojstv. Sozdany pri
installyacii sistemy.
Ruchnoe sozdanie specfajla
mknod /dev/filename { c | b } MAJOR MINOR
HP-UX: poluavtomaticheskoe sozdanie specfajlov
Pri nachal'noj zagruzke v /etc/inittab otrabatyvaet skript
/sbin/ioinitrc, kotoryj, obnaruzhiv novye platy i ustrojstva,
avtomaticheski zapuskaet komandu ih inicializacii, konfiguracii
i sozdaniya neobhodimyh dlya nih specfajlov.
sm. dokumentaciyu po komandam
ioscan
mksf
insf
Solaris: poluavtomaticheskoe sozdanie specfajlov
Pri zagruzke vyjti v boot-monitor i zagruzit'sya s klyuchem -r
STOP+A
ok boot -r - rekonfiguracionnaya zagruzka
vse neobhodimye specfajly dlya vnov' podklyuchennyh ustrojstv budut
pri etom sozdany avtomaticheski.
Last-modified: Fri, 11 Aug 2000 15:29:06 GMT