„Man (Unix)” változatai közötti eltérés

[ellenőrzött változat][nem ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
Addbot (vitalap | szerkesztései)
a Bot: 22 interwiki link migrálva a Wikidata d:q709369 adatába
Casinorum (vitalap | szerkesztései)
bővítés
Címke: Hullámos ő – kalapos ű
1. sor:
{{kisbetűscím}}
<!-- szegényes és a bevezetőben pontatlan információk kiegészítve, továbbá
A ''man'' Unix parancs shell parancsokról és C utasításokról tartalmaz információkat.
különbséget kell(ene) tenni a
* man kézikönyv (ami egy rendszer)
* és a kézikönyv keresett oldalait megjelenítő man parancs között.
-->
[[File:Unix manual.png|thumb|Egy man kézikönyv lapja (a man parancsról)]]
 
A '''man page''' (a ''manual page'' rövidítése, magyar gyakorlatban elterjedt a referencia kézikönyv név is<ref>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ő <code>man</code> parancsot is. </ref>) 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 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.
== Használata ==
Ha egy Unix parancsról szeretnénk információkat kapni, akkor a következőt kell beírni:
 
man <a parancs neve>
 
Például "<tt>man ftp</tt>".
 
Hogyha az eredményt egy szöveges állományban szeretnénk megkapni, akkor használhatjuk például a következő parancsot:,
 
man foo | col -b > kimenet.txt
 
Ha [[PDF]] kiterjesztésben szeretnénk kapni, kell használhatjuk a [[Ghostscript]] csomagot:
 
man -t foo | ps2pdf - kimenet.pdf
 
== Történet ==
A ''UNIX Programmer's Manual'' először [[1971]]. [[november 3.|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]] <!-- magyarítására készítettem doksit, ami az összes ctan szerverről letölthető -->, 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ő.
 
Általában a man oldalai angol nyelven vannak írva, de a rendszerben más nyelven 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).
== A könyv fejezetei ==
Á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<ref> http://tldp.fsf.hu/man.html Magyar Linux Dokumentációs Projekt- Kézikönyv oldalak</ref>.
A könyv nyolc fejezetre tagolódik, ( [[BSD]], [[Unix]] és [[Linux]]):
 
=== Fejezetek ===
A referencia kötetek anyaga hagyományosan nyolc fejezetre tagolódik, ezek a következők:
{| class="wikitable"
!Fejezet
30 ⟶ 24 sor:
|-
|1
| A [[shell]]-ből kiadható, a felhasználó által meghívható parancsok (segédprogramok, utility-k).
|Általános parancsok
|-
|2
| [[Rendszer hívás]]ok. 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.
|[[Rendszer hívás]]ok
|-
|3
| [[Szubrutin]]ok. A standard és opcionális rendszerkönyvtárak rutinjai, például sztringkezelés, matematikai vagy képernyővezérlő rutinok.
|C függvények
|-
|4
| [[Állományformátum]]ok.
|Speciális állományok
|-
|5
| Vegyes szolgáltatások, állomány és adatformátumok.
|Állomány-kiterjesztések
|-
|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.
|Miscellanea
 
|-
|8
|Rendszer adminisztrációs parancsokRendszeradminisztráció és karbantartás. Parancsok és [[Daemon (computer software)|daemon]]-ok.
|}
 
=== Alfejezetek, alcsoportok ===
A fenti fejezeteken belül gyakran alcsoportok is megtalálhatóak, például <code>3M</code> jelöli a 3. fejezet matematikai szubrutinjait, <code>3N</code> 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 <code>ls(1)</code> azt jelenti, hogy az <code>ls</code> 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<ref>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.</ref> jelenik meg, (hasonló egy wikipédia cikkhez).
 
Minden man kézikönyv lapján a következő tartalmi elemek szerepelnek<ref>Az első négy szekció kötelező</ref>:
{| class="wikitable"
!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<ref>Angol nyelvű változatnál nincs fordítás, ebben a szekcióban a szerző adatai szerepelnek.</ref>
| 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<ref>A Unix/Linux rendszerek érzékenyek a kisbetű-nagybetű közötti különbségekre! A parancsok nevei mindig kisbetűvel írandóak.</ref>:
<source lang="bash">
man <parancs_neve>
</source>
 
Például a
<source lang="bash">
man ls
</source>
a lemezkatalógus használatának leírását adja meg. Magáról a <code>man</code> parancsról is létezik kézikönyv-oldal:
<source lang="bash">
man man
</source>
 
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 <code>chown</code> utasítás mellett <code>chown</code> rendszerhívás is. Az első fejezetben található <code>chown</code> utasításról a
<source lang="bash">
man 1 chown
</source>
parancs,
míg a <code>chown</code>rendszerhívásról a
 
<source lang="bash">
man 2 chown
</source>
ad leírást.
 
A man parancs kimenete a [[troff]]<ref>Nem minden rendszeren található meg, de számos változata létezik, mint például az nroff, groff, runoff, stb.</ref> 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
<source lang="bash">
man -k lisp
</source>
paranccsal: ekkor kilistázódnak azok a manual oldalcímek, amelyek tartalmazzák a keresett <code>lisp</code> 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 <code>man</code> 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 <code>man</code> parancs leírását a <code>kimenet.txt</code> nevű állományba irányítja át:
 
<source lang="bash">
man man | col -b > kimenet.txt
</source>
 
A [[troff]] használatával [[PostScript]] kimenet is létrehozható, ez utóbbi [[PDF]] formátumba konvertálható a [[Ghostscript]] csomaggal:
<source lang="bash">
man -t foo | ps2pdf - kimenet.pdf
</source>
 
== Példa ==
A man kézikönyv magyar nyelvű <code>man</code> oldala:
----
<!-- 80 karakter széles output 2 oldalán 1-1 man(1) felirat, ezért a sok space. wiki eszközzel elegánsabban? -->
<code>
 
man(1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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
 
ELŐFORMÁ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.
</code>
 
== Jegyzetek ==
{{jegyzetek}}
 
== Felhasznált irodalom ==
* [http://mek.oszk.hu/01200/01249/01249.htm 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 ==
* [http://linuxfocus.berlios.de/English/November2003/article309.shtml Writing man-pages]
* [http://liw.fi/manpages/ Writing manual pages]
* [http://tldp.fsf.hu/man.html Magyar Linux Dokumentációs Projekt - Kézikönyv oldalak]
{{unix parancsok}}
 
A lap eredeti címe: „https://hu.wikipedia.org/wiki/Man_(Unix)