A man page (a manual page rövidítése, magyar gyakorlatban elterjedt a referencia kézikönyv név is[1]) egy súgó (help) rendszer, amelyet a „man” (manual pages – referencia kézikönyv) utasítással hívhatunk elő. A man kézikönyv olyan, mint egy valódi kézikönyv: referencia jellegű, az egyes parancsok, függvények, fájlformátumok (legfeljebb néhány oldal terjedelmű) rövid, de pontos ismertetésével.
Történet
A UNIX Programmer's Manual először 1971. november 3-án jelent meg. Ennek a szerzői Dennis Ritchie és Ken Thompson, Doug McIlroy felkérésére. A man lapok makróit Ted Dolotta készítette (aki később a USG első menedzsere és a System III könyv főszerzője lett).
A man kézikönyv minden rendszeren elérhető, és napjainkban is elterjedten használt az egyszerűsége és megbízhatósága miatt. Kevés alternatív változat létezik, ilyen például a texinfo, ami a legrégebbi és legegyszerűbb hipertext rendszer, nem mellesleg a mögöttes TeX miatt nyomdai minőségben is képes nyomtatni. A Linux GUI rendszerek megjelenésével a dokumentáció HTML formátumban is elérhető.
A kézikönyv felépítése
A man referencia kézikönyv fejezetekből, alfejezetekből (vagy más néven alcsoportokból) áll. Tartalmazza továbbá az egyes parancsok lapjait, valamint a találathoz hasonló parancsok permutált indexét (egy rövid tárgymutatószerű hivatkozást).
Általában a referencia kézikönyv oldalai angol nyelven vannak írva, de a legtöbb rendszerben más nyelven is elérhető, sőt jelentős mennyiségű magyar fordítás is készült.[2]
Fejezetek
A referencia kötetek anyaga hagyományosan nyolc fejezetre tagolódik, ezek a következők:
Fejezet
Leírás
1
A shellbő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 sztringkezelés, matematikai vagy képernyővezérlő rutinok.
Vegyes szolgáltatások, állomány és adatformátumok.
6
Számítógépes játékok és képernyőfrissítők.
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. Parancsok és daemonok.
Alfejezetek, alcsoportok
A fenti fejezeteken belül gyakran alcsoportok is megtalálhatóak, például 3M jelöli a 3. fejezet matematikai szubrutinjait, 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 referencia kézikönyv melyik fejezetében található, például ls(1) azt jelenti, hogy az ls parancs a man referencia kézikönyv első fejezetében található.
Indexek
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 van szükség programra. 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.
Egy kézikönyvlap felépítése
Egy parancs leírása a kézikönyv egy lapján[3] jelenik meg.
Minden man kézikönyv lapján a következő tartalmi elemek szerepelnek:[4]
Szekció
Angolul
Leírás
Fejléc
Minimális esetben az megjelenített parancs nevét és zárójelben a kézikönyv fejezetszámát tartalmazza
NÉV (szakaszcím)
NAME
- a megjelenített téma neve és egysoros leírása
ÁTTEKINTÉS
SYNOPSYS
A téma nevét és kapcsolóit adja meg
LEÍRÁS
DESCRIPTION
A téma részletes leírása
OPCIÓK
OPTIONS
A téma (parancs) paramétereinek, kapcsolóinak részletes felsorolása és hatásainak bemutatása
VISSZATÉRÉSI ÉRTÉK
RETURN VALUES
A program vagy függvényhívás visszatérési értéke. Megállapodás szerint a void() értéket is jelölni kell. A szekció elmaradhat.
KÖRNYEZET
ENVIRONMENT
A hatásos környezeti változók felsorolása és leírása
FÁJLOK
FILES
A téma által használt (ideiglenes és konfigurációs) fájlok nevei. A szekció elmaradhat.
PÉLDÁK
EXAMPLES
A téma megértését megkönnyítő példák, ha szükség van rájuk. Elhagyható.
DIAGNOSZTIKA
DIAGNOSTICS
Tesztelési, diagnosztikai információk, amennyiben szükségesek. Elhagyható.
SZABVÁNYOK
STANDARDS
Szabványok/platformok ismertetése, ha esetleges korlátozás is fennáll.
LÁSD MÉG
SEE ALSO
A témához kapcsolódó további témák felsorolása
HIBÁK
BUGS
Az ismert hibák felsorolása. Ideális esetben ez a szekció üres.
Információk a nyelvi változatokról, pl. fordító személy, stb.
Lábléc
Opcionális információkat tartalmazhat. Nem kötelező.
Használata
Egy Unix parancsról részletesebb információkat man kézikönyvből lehet lekérdezni:[6]
man<parancs_neve>
Például a
manls
a lemezkatalógus használatának leírását adja meg. Magáról a man parancsról is létezik kézikönyvoldal:
manman
A referencia kézikönyv egy fejezetére hivatkozni a man parancsban a kért lap (manual page) elé írt fejezetszámmal lehet.
Például létezik a chown utasítás mellett chown rendszerhívás is. Az első fejezetben található chown utasításról a
man1chown
parancs, míg a chown rendszerhívásról a
man2chown
ad leírást.
A man parancs kimenete a troff[7] tördelőprogram segítségével kulturáltan, képernyőoldalakra tördelve jelenik meg: sorkizárt 80 karakter széles, tagolt szöveg. Általában a szóköz billentyűvel lapozhatunk előre egy képernyőoldalnyit, „b”-vel (back – vissza) lapozhatunk vissza, „Enterrel” görgethetünk csak egy sort, és „q”-val (quit) léphetünk ki. A „h”-val (help) a lapozó program parancsairól kérhetünk gyors segítséget.
Minden manual oldalnak van egy egysoros címe, ezekben keresni lehet a
man-klisp
paranccsal: ekkor kilistázódnak azok a manual oldalcímek, amelyek tartalmazzák a keresett lisp szót – először a címhez tartozó címszót, aztán zárójelben a fejezet számát, végül az oldal rövid leírását kapjuk meg.
Átirányítások
Alapértelmezés szerint a man parancs a képernyőre ír. Lehetőség van a megjelenített kimenet szövegfájlba való átirányítására. A következő példa a man parancs leírását a kimenet.txt nevű állományba irányítja át:
manman|col-b>kimenet.txt
A troff használatával PostScript kimenet is létrehozható, ez utóbbi PDF formátumba konvertálható a Ghostscript csomaggal:
man-tfoo|ps2pdf-kimenet.pdf
Jegyzetek
↑Gyakran (helytelenül) egyszerűen csak man-nak nevezik a referencia kézikönyvet is és a referencia kézikönyv egyes oldalait megjelenítő man parancsot is.