UNIX dokumentációk

Különösen a kezdő felhasználó számára lehet nyomasztó a UNIX ismeretlensége, de a DOS-hoz szokott felhasználókat is zavarba ejtheti a UNIX mérete, bonyolultsága, a rendelkezésre álló parancsok nagy száma, s maga az a tény is, hogy többfelhasználós rendszerrel van dolga, ahol még a ki- és bekapcsolás se olyan egyszerű, mint egy PC-n. A rendszer méretével ráadásul arányos a dokumentációk és leírások terjedelme is. Mindezek miatt igen fontos annak ismerete, hogy milyen információt hol találhatunk meg a különféle leírásokban. Az alábbiakban az ezzel kapcsolatos alapvető ismereteket foglaljuk össze.

Kézikönyvek

A UNIX-hoz szállított kézikönyvek rendszerint két fő csoportra oszthatóak, nevezetesen a referencia kézikönyvekre (Reference Manual), és az összes egyébre; ezek rendszerint a megcímzett felhasználók, illetve témakörök szerint vannak csoportosítva, például User's Guide, vagy Programmer's Reference Manual, Administrator's Reference Manual, stb. Míg a referencia kézikönyvek nevüknek megfelelően az egyes parancsok, rendszerhívások stb. részletekbe menő ismertetését nyújtják, a többi kötet vagy valamilyen bevezető szintű, vagy haladóbb ismereteket ad a rendszer használatának egyes vonatkozásairól, például a hálózati szolgáltatásokról és parancsokról (a felhasználók számára), a hálózatadminisztrációról (a rendszeradmi-nisztrátorok számára), vagy éppen a hálózati felület programozásáról (fejlesztők számára).

Noha a dokumentáció szervezése rendszerről rendszerre változik, teljes dokumentációkészlet esetén biztosak lehetünk abban, hogy találunk benne valami Getting Started ... jellegű, teljesen kezdőknek szóló leírást, ami átsegíthet bennünket a könyvtorony megpillantása kiváltotta kezdeti sokkos állapoton. Hasonlóképpen, a legfontosabb tevékenységekről (szövegfeldolgozás, kommunikáció, stb) rendszerint részletekbe menő és jó magyarázatokkal ellátott kötetek szólnak.

A mindennapi munkában viszont még gyakorlott felhasználók sem tudnak meglenni a referencia kézikönyvek gyakori lapozgatása nélkül - s a parancsok nagy számát, s az opciók végtelen formagazdagságát tekintve ez nem szégyen(1)

. Az alábbiakban tehát a referencia kézikönyvek szerkezetét ismertetjük.

A referencia kötetek anyaga hagyományosan nyolc fejezetre tagolódik, ezek a következők:

 

1 A shell-ből kiadható, a felhasználó által meghívható parancsok (segédprogramok, utility-k).

2 Rendszerhívások. A UNIX kernel számára kiadható rendszerhívások gyűjteménye, C nyelvi szintaxis szerint megadva, ahogyan egy C nyelvű programból hívhatóak.

3 Szubrutinok. A standard és opcionális rendszerkönyvtárak rutinjai, például stringkezelés, matematikai vagy képernyővezérlő rutinok.

4 Állományformátumok.

5 Vegyes szolgáltatások, állomány és adatformátumok.

6 Játékprogramok.

7 Perifériaállományok, a fizikai perifériákat reprezentáló fájlok struktúrája, és a megfelelő eszközmeghajtó (device driver) vezérlő parancsok.

8 Rendszeradminisztráció és karbantartás.

 

A fentieken belül gyakran alcsoportokat is megkülönböztetünk, például egyes rendszerekben 1M alá kerülnek az egyébként nyolcadik fejezetbe tartozó karbantartó programok, 3M jelöli a matematikai szubrutinokat, 3N a hálózatiakat és így tovább. Az irodalomban az egyes parancsokra való hivatkozásnál zárójelek között rendszerint megadják, hogy a parancs a referenciakézikönyv melyik fejezetében található, például ls(1). Ha a referencia kézikönyv a fenti szempontok szerint tovább tagolt, akkor vigyázzunk arra, hogy egyes fejezetek mind a Programmer's Reference Manual-ban, mind a User's Reference Manual-ban megtalálhatóak (például utility-k), míg mások nem (például rendszerhívások értelemszerűen csak a Programmer's Reference Manual-ban szerepelnek).

A referencia kézikönyvek elején gyakran található egy úgynevezett permutált index, amely különösen akkor tehet jó szolgálatot, ha egy konkrét feladat megoldásához keresünk egy általunk ismeretlen programot. A permutált indexben minden egyes UNIX parancs szerepel egy egysoros leírás erejéig, de az index minden egyes parancsismertető sor minden egyes szava szerint rendezett, s így tárgymutatóként használva pillanatok alatt megtalálhatóak azok a parancsok, amelyek leírásában az általunk keresett szó szerepel.

Például a cat parancs ismertetője az alábbi:

 

cat(1) - concatenate, copy, and print files

Ennek az alábbi sorok felelnek meg a permutált indexben:

 

...

and print files. cat(1) - concatenate, copy,

...

files. cat(1) - concatenate, copy, and print

...

cat(1) - concatenate, copy, and print files.

...

copy, and print files. cat(1) - concatenate,

...

concatenate, copy, and print files. cat(1) -

...

Látható, hogy a parancsleírásban szereplő minden lényeges szó szerint rátalálhatunk a keresett parancsra.

 

On-line help

Az on-line segítség legkézenfekvőbb változatát saját hibáink keltik életre: számos UNIX parancs, ha paraméter nélkül, rossz paraméterezéssel, vagy a -? opciókkal hívjuk meg, kiír a képernyőre egy meglehetősen tömör, de gyakran elegendőnek bizonyuló üzenetet az adott parancs használatáról. (A shell-programozásnál látni fogjuk, hogy nagyon könnyen lehet ilyen úgynevezett "usage" stringeket beépíteni programjainkba, s mivel ez mind magunk, mind a többi felhasználó számára megkönnyíti az életet, az erre való "rászokást" csak ajánlani tudjuk az olvasónak - pár hónap után az ember már a saját programjánál se feltétlenül emlékszik, milyen paraméterekkel és hogyan hívható...)

Például ha az mv parancsot hívjuk meg rosszul:

$ mv src.c

mv: Insufficient arguments (1)

Usage: mv [-f] [-i] f1 f2

mv [-f] [-i] f1 ... fn d1

mv [-f] [-i] d1 d2

$

Lehetőséget biztosít a UNIX arra is, hogy on-line módon hozzáférjünk a kézikönyvekhez. A man parancs hatására (paraméternek a referencia kézikönyv valamelyik tételének nevét kell megadni, például man cat, vagy man hosts), s a megnevezett UNIX parancs, rendszerhívás, vagy szubrutinra vonatkozó manuál oldalakat kilistázza a rendszer a képernyőre.(2)

A permutált index on-line megfelelője is létezik: a man -k kulcsszó parancs hatására (például man -k (3)

file) kilistázódik az összes olyan parancs egysoros leírása, amelyekben szerepel a megadott kulcsszó (esetünkben a file):

...

vhe_list(4) - information file for the Virtual
Home Environment

vhe_u_mnt(1M) - perform Network File System (NFS)
mount to remote file system

vipw(1M) - edit the password file

vis, inv(1) - make unprintable characters in a
file visible or invisible

which(1) - locate a program file including
aliases and paths

x25init_smpl(4) - sample configuration file used to
initialize an X.25 interface.

x25upload(1M) - dump X.25/9000 interface card memory
into a file.

x29hosts(4) - PAD-related configuration file

x3config(4) - PAD-related X.3 configuration file

ypfiles(4) - Network Information Service database
and directory structure

...

A whereis parancs révén (ez BSD alapú parancs, így nem minden rendszerben található meg) azt tudhatjuk meg, hogy az általunk keresett parancs vajon létezik-e UNIX rendszerünkben, s ha igen, akkor hol található a futtatható, illetve forráskódú változata, illetve a rávonatkozó esetleges kézikönyv rész:

$ whereis cat

cat: /bin/cat /usr/man/man1.Z/cat.1

$

Nem lehet eléggé hangsúlyozni a kézikönyvek (mind a nyomtatott, mind az on-line) változat használatának fontosságát: a UNIX olyan hatalmas rendszer, annyi paranccsal és parancsopcióval, hogy ezek számontartása és memorizálása hasztalan, s így felesleges is. Az on-line help szolgáltatás mindig hozzáférhető információkat ad a keresett parancsról. És végül még egy dolgot érdemes megemlíteni: az egyes eltérő UNIX változatok miatt eltérő gépeken ugyanazok a parancsok eltérően működhetnek, illetve ugyanannak a parancsnak több változata is jelen lehet gépünkön, ezért mindig gondosan olvassuk el a kézikönyv erre vonatkozó utalásait. (Elrettentő példaként ajánljuk az olvasó szíves figyelmébe az echo parancsot, amelynek legalább négy változata létezik, mind beépített shell funkció, mind önálló parancs formájában...)

 

Tartalomjegyzék