man (Unix)
Ezt a szócikket némileg át kellene dolgozni a wiki jelölőnyelv szabályainak figyelembevételével, hogy megfeleljen a Wikipédia alapvető stilisztikai és formai követelményeinek. |
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
szerkesztésA 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
szerkesztésA 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
szerkesztésA 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. |
4 | Állományformátumok. |
5 | 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
szerkesztésA 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
szerkesztésA 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
szerkesztésEgy 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. |
FORDÍTÁS | AUTHOR[5] | 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
szerkesztésEgy Unix parancsról részletesebb információkat man kézikönyvből lehet lekérdezni:[6]
man <parancs_neve>
Például a
man ls
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:
man man
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
man 1 chown
parancs, míg a chown
rendszerhívásról a
man 2 chown
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 -k lisp
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
szerkesztésAlapé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:
man man | 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 -t foo | ps2pdf - kimenet.pdf
Jegyzetek
szerkesztés- ↑ 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. - ↑ http://tldp.fsf.hu/man.html Archiválva 2013. július 14-i dátummal a Wayback Machine-ben Magyar Linux Dokumentációs Projekt- Kézikönyv oldalak
- ↑ A kézikönyv egy lapja logikai fogalom: a fejléctől a leírás végéig tart, függetlenül attól, hogy hány nyomtatott oldalból áll.
- ↑ Az első négy szekció kötelező
- ↑ Angol nyelvű változatnál nincs fordítás, ebben a szekcióban a szerző adatai szerepelnek.
- ↑ A Unix/Linux rendszerek érzékenyek a kisbetű-nagybetű közötti különbségekre! A parancsok nevei mindig kisbetűvel írandóak.
- ↑ Nem minden rendszeren található meg, de számos változata létezik, mint például az nroff, groff, runoff stb.
Források
szerkesztés- Szemethy Tivadar: Unix ismertető
- Bartók Nagy János - Laufer Judit: UNIX FELHASZNÁLÓI ISMERETEK, Openinfo Kiadó, Bp.
- Bagoly Zsolt - Papp Gábor: UNIX alapismeretek, Bp., CoDe Kft.,1995, ISBN 9630449552
További információk
szerkesztés- Writing man-pages
- Writing manual pages
- Magyar Linux Dokumentációs Projekt - Kézikönyv oldalak
- Online man oldalak a Polarhome több mint 30 futó Operációs rendszer gyűjteményéből, mint az AIX, HP-UX, IRIX, különböző Linux és BSD disztribúcíók, OS X, UnixWare, OpenServer stb.