man (Unix)

online súgó (help) rendszer
Ez a közzétett változat, ellenőrizve: 2022. október 15.

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.

Egy man kézikönyv lapja (a man parancsról)

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]

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ó.

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
  1. 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.
  2. 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
  3. 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.
  4. Az első négy szekció kötelező
  5. Angol nyelvű változatnál nincs fordítás, ebben a szekcióban a szerző adatai szerepelnek.
  6. A Unix/Linux rendszerek érzékenyek a kisbetű-nagybetű közötti különbségekre! A parancsok nevei mindig kisbetűvel írandóak.
  7. Nem minden rendszeren található meg, de számos változata létezik, mint például az nroff, groff, runoff stb.

További információk

szerkesztés
  NODES
eth 2
see 1