Szerkesztő:casinorum/man kézikönyv
A man page (a manual page rövidítése, magyar gyakorlatban elterjedt a referencia kézikönyv név is[1]) egy online 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 legöregebb é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 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 shell-ből kiadható, a felhasználó által meghívható parancsok (segédprogramok, utility-k). |
2 | Rendszer hí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 daemon-ok. |
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, (hasonló egy wikipédia cikkhez).
Minden man kézikönyv lapján a következő tartalmi elemek szerepelnek:
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 | STANARDS | 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[4] | 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[5]:
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önyv-oldal:
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[6] 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, "Enter-rel" 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 [7] 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
Példa
[szerkesztés]A man kézikönyv man oldala:
man(1) man(1)
NÉV
man - formázza és kiírja az on-line kézikönyvlapokat
manpath - kiírja a felhasználó kézikönyvlap keresési útvonalát
ÁTTEKINTÉS
man [-acdfhkKtwW] [-m system] [-p string] [-C config_file] [-M path] [-P pager] [-S
fejezet_lista] [fejezet] név ...
LEÍRÁS
A man program formázza és kiírja az on-line kézikönyvlapokat. Ez a változat ismeri
a MANPATH és a (MAN)PAGER környezeti változókat, így személyes kézikönyvlap-
gyűjtemények is használhatók, illetve tetszőleges program használható a formázott
lapok megjelenítésére. Ha a parancssorban egy fejezet nevét is megadjuk, a man
csak azt a fejezetet vizsgálja. Parancssorból vagy környezeti változókkal megadható
a fejezetekben való keresés sorrendje és hogy milyen előfeldolgozót kell futtatni a
forrásfájlokra. Ha a név '/'-jelet tartalmaz, először konkrét fájlnévként próbálja
kezelni, azaz pl. man ./foo.5 vagy man /cd/foo/bar.1.gz a megadott fájlokat fogja
feldolgozni és megjeleníteni.
OPCIÓK
-C config_file
Meghatározza a használandó konfigurációs fájl nevét. Alapértelmezés:
/etc/man.config. (Lásd man.config(5).)
-M path
Meghatározza azon könyvtárak listáját, amelyekben a lapok keresését végzi.
Ilyen opció hiánya esetén a MANPATH környezeti változó tartalmát használja
ugyanerre a célra. Amennyiben nincs ilyen környezeti változó, az
alapértelmezett listát a /etc/man.config -ból veszi. A MANPATH üres
rész-sztringje az alapértelmezett listát jelenti.
-P pager
Megadja, melyik lapozó (pager) programot használja. Ez az opció felülbírálja
a MANPAGER környezeti változót. Ez pedig (létezése esetén) a PAGER
környezeti változót bírálja felül. Alapértelmezés szerint a man a
/usr/bin/less-is parancsot használja lapozónak.
-S fejezet_lista
A kézikönyv vizsgálandó fejezeteinek kettősponttal elválasztott listája. Ez
az opció felülbírálja a MANSECT környezeti változót.
-a Alapértelmezés szerint a man program kilép az első megtalált kézikönyvlap
kijelzése után. Ez az opció azt eredményezi, hogy a man minden olyan lapot
kijelez, amely illeszkedik a név-hez. (Nemcsak az elsőt.)
-c Újraformázza a kézikönyvlap forrását még akkor is, ha friss előformázott
oldal (cat page) létezik. Ennek pl. akkor lehet értelme, ha az előformázott
lap a jelenlegitől eltérő oszlopszámú kijelzőn lett formázva.
-d Nem jeleníti meg a kézikönyvlapokat, hanem hibakereső (debugging)
információkat ír ki.
-D Megjelenít és hibakereső információkat is ad.
-f Eegyenértékű a whatis paranccsal.
-h Egy segítő üzenetet ír ki, majd kilép.
-k Egyenértékű az apropos paranccsal.
-K A megadott sztringet minden kézikönyvlapon keresi. Figyelem: ez valószínűleg
nagyon lassú lesz! Ajánlott legalább a fejezetet megadni.
-m system
Egy másik kézikönyvlap készletet ad meg, megadott 'system' rendszernek
megfelelően.
-p sztring
Megadja az előfeldolgozók sorozatát, amelyet az nroff vagy troff előtt fut-
tatni kell. Nem minden installációnak van teljes előfeldolgozó-készlete. Az
előfeldolgozók, és a jelölésükre szoláló betűk a következőek: eqn (e), grep
(g), pic (p), tbl (t), vgrind (v), refer (r). Ez az opció felülbírálja a
MANROFFSEQ környezeti változót.
-t A /usr/bin/groff -Tps -mandoc parancsot használja a formázásra, és a
kimenetet a standard kimenetre küldi. A /usr/bin/groff -Tps -mandoc
kimenetét esetenként célszeru lehet néhány szuron keresztül átküldeni a
nyomtatás elott.
-w or --path
Nem jeleníti meg a kézikönyvlapokat, csak a formázandó illetve megje-
lenítendo fájlok neveit írja ki. Argumentum nélkül a standard kimeneten
listázza a keresésre használt könyvtárakat. Amennyiben a manpath egy kötés
(link) a man -ra, akkor 'manpath' egyenértéku a 'man --path' paranccsal.
-W Ugyanaz, mint -W, csak egy fájlnevet ír soronként egyéb információk nélkül.
Ez olyan burokparancsoknál hasznos, mint pl. man -aW man | xargs ls -l
ELOFORMÁZOTT OLDALAK
A man program megpróbálja elmenteni a formázott kézikönyvlapokat, hogy megtakarítsa
a formázási időt, amikor ugyanerre a lapra lesz a későbbiekben szükség.
Hagyományosan a 'DIR/manX' formázott lapjait a 'DIR/catX'-be menti, de más
megfeleltetések is beállíthatók a /etc/man.config fájlban. Nem történik mentés, ha
a megfelelo 'cat' könyvtár nem létezik.
Lehetséges a man suid bitjét beállítani a 'man' felhasználónak. Ekkor ha a cat-
könyvtárnak 'man' a tulajdonosa, és a módja 0755 (csak a 'man' által írható), és az
előformázott cat-fájlok tulajdonosa is 'man', és módjuk 0644 vagy 0444, akkor egy
rendes felhasználó sem tudja az eloformázott lapokat lecserélni, vagy más fájlokat
írni a cat-könyvtárba.
Amennyiben a man nem suid-os, a cat-könyvtárnak 0777 módúnak kell lenni, hogy min-
den felhasználó tudjon előfordított lapokat tenni ide.
A -c opció hatására a lap akkor is újraformzádik, ha már létezik aktuális
előformázott lap.
KÖRNYEZET
MANPATH
Amennyiben a MANPATH nem üres, értéke a kézikönyvlapok keresési útvonalát
adja meg.
MANROFFSEQ
A MANROFFSEQ tartalma az előfeldolgozók halmazát határozza meg, melyeket az
nroff vagy troff elott kell futtatni. Alapértelmezés szerint a lapok a 'ta-
ble' előfeldolgozón mennek át az nroff előtt.
MANSECT
A MANSECT értéke a keresendő kézikönyv fejezeteket adja meg.
MANWIDTH
A MANWIDTH értéke a lapok kijelzéskor használandó szélességét adja meg. Ha
ez a változó üres, a lapokat a képernyő teljes szélességében jeleníti meg.
MANPAGER
A MANPAGER értéke a formázott lap megjelenítésére szolgáló programot adja
meg. Amennyiben üres, a PAGER -t használja. Ha ez is üres, akkor a
/usr/bin/less -is parancs jeleníti meg a lapot.
LANG Amennyiben a LANG környezeti változó nem üres, egy könyvtárnevet ad meg,
ahol a man először keresi a kézikönyvlapokat. Így a 'LANG=dk ; man 1 foo'
hatására először a 'DIR/dk/man1/foo.1' fájlt próbálja megjeleníteni, ha ez
nem létezik, akkor a 'DIR/man1/foo.1'-et. Itt 'DIR' egy könyvtár a keresési
útvonalból.
NLSPATH, LC_MESSAGES, LANG
Az NLSPATH és LC_MESSAGES vagy LANG környezeti változók az üzenetek
katalógusának elhelyezkedésében játszanak szerepet. (Az angol üzenetek a
programba vannak fordítva, így ehhez a nyelvhez nem kell katalógus.) Meg-
jegyzendő, hogy olyan programok, mint pl. a col(1), melyet a 'man' hív, szin-
tén használják pl. az 'LC_TYPE' változót.
PATH A PATH értéke az alapértelmezett kézikönyvlap keresési útvonal
összeállításában játszik szerepet.
SYSTEM A SYSTEM változót arra használja, hogy az alapértelmezett választható rend-
szernév értékét határozza meg. (Lásd a -m opciót.)
LÁSD MÉG
apropos(1), whatis(1), less(1), groff(1).
HIBÁK
A -t opció csak akkor muködik, ha egy troff-szerű program is rendelkezésre áll.
Amennyiben villogó \255 vagy <AD> látható a '-' jel helyett, a 'LESSCHARSET=latin1'
beállítást kell alkalmazni.
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
- ↑ A kézikönyv egy lapja logikai fogalom: az fejléctől a leírás végéig tart, függetlenül attól, hogy hány nyomtatott oldalból áll.
- ↑ 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.
- ↑ man
Felhasznált irodalom
[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][[Kategória:Unix-parancsok]]