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és]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
[szerkesztés]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
[szerkesztés]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. |
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és]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
[szerkesztés]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
[szerkesztés]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. |
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és]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
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és]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:
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.