You are on page 1of 26

Hjprogramok

Linux alatti parancsrtelmezok


1.0
Fehr Jnos
2002. jnius 20.

Copyright c 2001-2002 Linux-felhasznlk Magyarorszgi Egyeslete


E kzlemny felhatalmazst ad nnek jelen dokumentum sokszorostsra, terjesztsre s/vagy mdostsra a Szabad Szoftver Alaptvny ltal kiadott GNU Szabad
Dokumentcis Licensz 1.1-es, vagy brmely azt kveto verzijnak felttelei alapjn. Nem Vltoztathat Szakaszok nincsenek, Cmlap-szvegek nincsenek, a Htlapszvegek neve pedig htlapszveg. E licensz egy pldnyt a GNU Szabad Dokumentcis Licensz elnevezsu szakasz alatt tallja.
A mdostott vltozat kzzttelrt felelo s szemlyek:
Sri Gbor saga@lme.linux.hu
Javtsok: Sri Gbor

Szerzo
Fehr Jnos

Szakmai lektor

Nyelvi ellenorzs
Sri Gbor saga@tux.hu

Formzs (LATEX)
Sri Gbor saga@tux.hu
Ksa Attila atkosa@shinwa.hu

Elozmnyek
Hjprogramok
Linux alatti parancsrtelmezok
A kiads ve: 2002.

Szerzo
Fehr Jnos

Szakmai lektor

Nyelvi ellenorzs
Sri Gbor saga@tux.hu

Formzs (LATEX)
Sri Gbor saga@tux.hu
Ksa Attila atkosa@shinwa.hu

Tartalomjegyzk
1. Hjprogramok - Linux alatti parancsrtelmezo k
1.1. Bevezeto . . . . . . . . . . . . . . . . . . . .
1.2. A shell rviden . . . . . . . . . . . . . . . .
1.3. A hjprogramok mltja, jelene, jvo je . . . .
1.3.1. A mlt . . . . . . . . . . . . . . . .
1.3.2. A jelen . . . . . . . . . . . . . . . .
1.3.3. A jvo . . . . . . . . . . . . . . . .
1.4. A shellekrol ltalban . . . . . . . . . . . . .
1.4.1. A shell mukdse . . . . . . . . . . .
1.4.2. A shell megvltoztatsa . . . . . . .
1.4.3. Shell vltozk, krnyezeti vltozk .
1.5. A shellekrol rszletesen . . . . . . . . . . . .
1.5.1. Bourne Shell . . . . . . . . . . . . .
Programindts . . . . . . . . . . . .
rsjelek . . . . . . . . . . . . . . . .
A Bourne Shell s a vltozk . . . . .
1.5.2. Korn Shell . . . . . . . . . . . . . .
Shell kapcsolk . . . . . . . . . . . .
Helyettesto nevek (alias) . . . . . . .
Parancsnaplz (history) . . . . . . .
A Korn shell ltal mdostott vltozk
A Korn Shell vltozi . . . . . . . .
1.5.3. Bourne Again Shell . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

4
4
4
5
5
5
6
7
7
8
9
10
10
10
11
12
13
13
14
15
17
17
17

1. fejezet

Hjprogramok - Linux alatti


parancsrtelmezok
1.1. Bevezeto
A sorozat ezen fzetben az Olvas betekintst nyerhet a Linux alatti hjprogramok
hasznlatba s programozsukba. Munknkban nagy mrtkben tmaszkodunk a sorozat korbbi tagjaira, ezrt teljesen kezdo felhasznlknak javasoljuk azok elolvasst,
mert alapoz ismeretek nlkl sok felesleges s ido rabl nehzsgbe tkzhetnek.
Ahhoz, hogy kiadvnyunkat sikerrel forgassa, szksges a megszerzett ismeretek
gyakorlatban val kiprblsa is. Ehhez mindssze egy olyan szmtgpre (vagy ilyen
gpre szl azonostra) lesz szksge, amelyen az ltalunk taglalt hjprogramok megtallhatk, vagy feltelepthetok. Ehhez igyeksznk segtsgkre lenni lemezmellkletnkkel, amelyen az ltalunk taglalt szoftvereknek mind a forrsa, mind pedig a binris
vltozata megtallhat.

1.2. A shell rviden


Mi az a shell?
Az opercis rendszernek kiadott parancsokat beolvas s rtelmez o programokat
a Unix-terminolgia shelleknek (hjprogram, burok) nevezi. Ezek alapvet o jellegzetessgei minden Unix-tpus rendszernek. Ennek oka a rendszer felptsben keresend o ,
amely nagy vonalakban a rendszermagbl s a krje csoportosul alkalmazsokbl
ll. Mint ismeretes, a kernel nmagban nem elg ahhoz, hogy dolgozni tudjunk, a
klvilggal val interaktivitst a programoknak kell megvalstaniuk. Ilyen kapcsolatteremto eszkzk tbbek kzt a shellek is.
A shell angolul kagylhjat, burkot jelent. Annak igazi okt, hogy annak idejn
mirt ppen erre a szra esett a Unix-kszto k vlasztsa, mra homly fedi. Funkcionalitst tekintve a nvvlaszts igen tall:
egy hj elrejt valamit a kvncsi szemek elo l, cskkentve ezzel a lehetosgt a
nemkvnatos behatsoknak (vdelem a felhasznltl)

vannak dszesebb-szolidabb hjak, m felptsben egyik sem bonyolult (nem


elrettents a cl, hanem a knnyu kezelheto sg)
egy burok adott clkznsg szmra kszl (mint egy j munkaeszkz)
egy tengeri kagylt flnkhz emelve halljuk a tenger zgst (kommunikci a
felhasznlval)
Szmos egyb rtelmezs is elkpzelheto , ezeket az Olvas fantzijra bzzuk.

1.3. A hjprogramok mltja, jelene, jvo je


1.3.1. A mlt
A legrgebbi, m mg ma is hasznlt shell az n. Bourne Shell, mely nevt atyjrl, az AT&T Bell Laboratories egykori munkatrsrl, Steven Bourne-r o l kapta. Az
utbbi harminc vben kevs kozmetikzson tesett program kivtel nlkl minden
Unix-tpus rendszeren fellelheto, amely egyik nagy elonye is a tbbivel szemben.
Tudsa szernynek mondhat, akrcsak ero forrs-ignye. A POSIX 1003.2-es s
1003.2a shell-specifikcik elksztshez a Bourne Shell szolglt alapul.
Amikor a University of California at Berkeley is bekapcsoldott a Unix fejlesztsbe, j sznfoltot hoztak a shellek vilgba. Megalkottk a sajt, Bourne Shellhez
kpest szmos knyelmi funkcival s C-nyelvvel hasonlatos szintaktikj parancsrtelmezojket, a C Shellt (Egy anekdota szerint a nv a sea shell (tengeri kagyl)
szjtkbl szrmazik.). A fejlesztst Bill Joy vgezte. A C Shell fejlesztse a 70-es
vek vgn j erore kapott, ennek eredmnye lett a TENEX C Shell, amelyet fo kpp
Ken Greernek s Paul Place Waynnek ksznhetnk.
A 80-as vek derekn David Korn vezetsvel a Bell Laboratories tovbblpett
a Bourne Shellen, megalkotva a Korn Shellt. Ez volt a Unix System V gnak els o
modern shellje. Ennek kszlt egy nagykznsg szmra is ingyenesen hasznlhat
vltozata, a Public Domain Korn Shell. Mivel fzetnk elso sorban a Linuxot hasznlkhoz szl, ezrt ez utbbit fogjuk rszletesen taglalni, m az esetleges eltrsekre is
felhvjuk a figyelmet.
A Free Software Foundation (Szabad Szoftver Alaptvny) megalakulsa, a GNUlicenszels j hjprogramot hvott letre, a Bourne Again Shellt. Mint neve is mutatja,
ez a Bourne Shell GPL-licenszelsu, tovbbfejlesztett vltozata, amelyet ma mr az
elso szm linuxos shellknt tarthatunk szmon.

1.3.2. A jelen
Napjainkban szmos egyb shell is elrheto . Ezen j shellek kzs jellemzo je, hogy
specilis krlmnyekhez terveztk o ket. Jelentosgk nem szmottevo, de egy rvid
bemutatst mindegyik megr:
Easy Shell : egy kis mretu parancsrtelmezo , rdekessge a Lisp-szeru szintaktikja.
Pdmenu : tulajdonkppen nem is shellel llunk szemben, hanem egy programozhat
menvel, amelyet - knyelmi szempontokat tekintve - olyan felhasznlknak clszeru belltani, akiknek nem cljuk az alapveto ismeretek elsajttsa sem. Ismeri a szneket s az almenket, amelyeket akr egrrel is kivlaszthatunk.

RC : ez az AT&T Plan 9 opercis rendszer shelljnek egyik implementcija. Jellegzetessge a kis mret s gyorsasg, a C-nyelvu szintaktika (amely a C Shellnl
sokkal jobban megkzelti a C-nyelvet) s egy hatkony mechanizmus a vltozk
manipullsra.
ASH : a NetBSD Bourne Shellje, amely a POSIX shell-specifikcijt is betartja,
emellett olyan lehetosgeket is tartogat, mint az Emacs vagy vi-szeru parancssorszerkeszts, tovbb korbban bert parancsainkat jra el o hvhatjuk, valamint
jobjainkat is vezrelhetjk. Aki csak ezt a nhny plusz tulajdonsgt hasznlja
a Bourne Again Shellnek vagy a tbbi ltalnos shellnek, annak tudjuk ajnlani
az ASH alaprtelmezettknti belltst, mivel sokkal kevesebb fggvnyknyvtrra tmaszkodik, mint nagyobb tuds trsaik s ez kevesebb er o forrsignyt
is eredmnyez.
Karels Interactive Simple Shell : szintn egy kis mretu interpreter. Klnsen alkalmas biztonsgi lemezek shelljeknt, mivel olyan beptett funkcikkal rendelkezik, mint az alias, cat, cd, chgrp, chmod, chown, cp, exec, exit, grep, help,
history, kill, ln, ls, mkdir, mknod, more, mv, printenv, pwd, read, rm, rmdir, setenv, sleep, source, touch, umount, unsetenv, ver, wc, where. Egyszval minden
olyan dolog megtallhat benne, amire egy biztonsgi helyrelltsnl szksgnk lehet.
Stand-alone Shell : akinek a Kiss nem tetszett, annak alternatva lehet a Stand-alone
Shell. Beptett parancsaival (-ar, -chattr, -chgrp, -chmod, -chown, -cmp, -cp,
-dd, -echo, -ed, -grep, -file, -find, -gunzip, -gzip, -kill, -ln, -ls, -lsattr, -mkdir,
-mknod, -more, -mount, -mv, -printenv, -pwd, -rm, -rmdir, -sum, -sync, -tar,
-touch, -umount, -where) ugyanis igen hasznosnak bizonyulhat egy esetleges
rendszersszeomls utni helyrelltsnl.
Limited Shell : ez egy kezdoknek sznt shell, DOS-kompatibilis parancsokkal. Tbbek kzt bellthat a kis-nagybetu rzketlensg a belso parancsokra, az egyes
knyvtrak megadhatk gy, hogy a DOS-os egybetus meghajtnevekre is hallgassanak. Derlt hangulatot okoz a globlis konfigurcis llomny is, amely a
keresztsgben a /etc/autoexec nevet kapta :-)
Operators Shell : vannak helyzetek, amikor arra van szksgnk, hogy a felhasznlk mozgstert lekorltozzuk nhny parancsra. Ilyenkor jn jl ez a shell,
amelynek konfigurcis fjljban megadhatk azok a programok, amelyeket a
felhasznlk elindthatnak.

1.3.3. A jvo
A 90-es vek PC-ire a szmtsi kapacits megnvekedtvel gombamd szaporodtak a
klnbzo grafikus felhasznli felletek (GUI-k). Pozitv tulajdonsgaikkal szemben
teljesen nyilvnvalak htrnyaik is, gy mint a felesleges ero forrshasznlat, s egy
ido utn a lass kezelhetosg. Ez utbbihoz egy kevs magyarzat: a tapasztalat azt
mutatja, hogy a shellekkel kapcsolatos gyakorlati tuds gyarapodsval sokkal gyorsabban rhetjk el clunk, mint egrkattintssal. Ennek oka az, hogy a tapasztaltabbak
tz ujjal gpelnek, s aktvan alkalmazzk a shellek knyelmi funkciit (nvkiegszts,
lnevek). Ezen rvek miatt a fzet szerzo je nem hisz a shellek kihalsnak elmletben, s szvbol remli, hogy az utols oldalak olvassakor ezzel a Tisztelt Olvas is
egyetrt majd.
6

1.4. A shellekrol ltalban


1.4.1. A shell mukdse

Ahhoz, hogy a ksobbi flrertseket elkerljk, pontostani kell nhny fogalmat. Mivel az informatika nyelve angol, ezrt a kso bbi knnyebb tjkozds kedvrt az
egyes szakszavak angol megfelelo je is megemltsre kerl.
Az opercis rendszer mukdse kzben a kommunikci valamilyen terminlon
(esetleg virtulis, emullt) keresztl trtnik. Ennek egyik eszkze lehet a shell is,
melyen keresztl a vezrls szveges karakterekre korltozdik. A vezrl o jelsoraink bevitelnek elsodleges eszkze a terminl billentyuzete. Minden egyes billentyu
lenyomsakor annak kdjt a shell megkapja s egy pufferben trolja, amelynek tartalmt tbbnyire szerkeszteni is lehet. A parancssor ezen szolgltatst sorszerkeszt o nek
nevezzk. A sorszerkesztovel tbbnyire egyszeru muveleteket - trlst, fellrst, beszrst - vgezhetnk a kurzormozgat billentyuk s -kombincik segtsgvel. Ezt
kvetoen a bevitt jelsor megjelenik a terminlon (echo). Egy rvnyest o vgjellel
(alaprtelmezsknt ez az ENTER vagy RETURN billentyu) lehet a parancsot rtelmeztetni. Ilyenkor a puffer tartalmt megkapja a shell rtelmezo (interpreter) rsze,
amely sztbontja utastsokra s paramterekre. Az utastsok kztt els o bbsgek, precedencik lehetnek, azaz nem felttlenl beviteli sorrendben lesznek elindtva. Vgrehajts sorn, ha szintaktikailag helyes az utastssor, akkor a shell el o szr helyettesto
nvknt (alias), ha nincs ilyen, akkor a beptett parancskszletben (builtin) keresi
meg a hozztartoz cselekvssort. Ha ilyen nem ltezik, akkor egy alkalmazs neveknt rtelmezi, s megksrli elindtani. A beptett parancs a shellbe be van drtozva;
mukdsben olyan, mintha egy programfjl kerlne vgrehajtsra, azzal a klnbsggel, hogy nem klnll rszknt tallhat meg a fjlrendszeren. Egyes shellekben
lehetosg nylik a korbban kiadott parancsok trolsra, jbli kiadsra. Ezeket a
parancsokat sszefoglal nven elo zmnyeknek (history) nevezzk, az o ket tartalmaz
fjl pedig az elozmnyfjl.
Tbbnyire elmondhat, hogy a vgrehajts szekvencilis, azaz egy jabb utasts
csak akkor adhat ki, ha mr egy korbbi lefutott. Ez igen nagy megkts, ennek thidalsra szolgl a munkavezrls (job control), amellyel megtehetjk, hogy bizonyos
parancsokat httrben futtassunk kln folyamatknt, vagy felfggesszk. A felfggesztett folyamatoktl a rendszer elveszi a CPU-t, ha szksges, a lefoglalt memrijukat elsok kztt rja ki a csere (swap) partcira.
Hogy mit jelent az, hogy egy program elo trben vagy httrben fut, nehz elmagyarzni, ellenben szemlltetni jl lehet klnbzo sgeikkel:
Elotrben:
rhatja s olvashatja a terminlt
a shell megvrja a jelenleg fut folyamat befejeztt, mielo tt j parancsbeviteli lehetosget knlna fel
Httrben:
nem kpes olvasni a terminlrl
rhat a terminlra, ha ezt stty to stop -pal le nem tiltjuk
nem vr az aktulisan fut folyamat befejeztre, rgtn j parancsbeviteli
mdot knl
7

Mindezekbol leszurheto, hogy a httrben val futtatst olyan folyamatokhoz talltk ki, amelyek nem interaktvak, a terminlt nem vagy csak alig hasznljk. Pldval
lve, kedvenc szvegszerkeszto nket nem rdemes httrben futtatni, mert folyamatos
bevitelt vr, viszont egy kernelfordtst vagy tmrtst mr clszeru.
Minden shell egy alkalmazs, amelyhez ltezik egy fo futtathat llomny. Ezt
elindtva egy kln folyamatknt kel letre s teszi a dolgt addig, amg ki nem lpnek
belole. Minden bejelentkezskor egy ilyen programfjl hajtdik vgre, melynek szl o
folyamata az init, s minden, a shellbo l kzvetlenl elindtott tbbi folyamat o se a shell
lesz.

1.4.2. A shell megvltoztatsa


Mint mr emltettk, a shell egy program, teht ltezik legalbb egy futtathat fjl,
amivel el lehet indtani (Hogy melyek ezek, azt majd az egyes shellek lersnl trgyaljuk.). Ezt ktflekppen is megtehetjk: alaprtelmezettknt belpskor a login
program indtja el, vagy pedig a parancssorba begpeljk az fjl nevt. Attl fggoen, hogy hogyan indult el, mukdse is eltro lehet. A login program ltal indtottak (tovbbiakban login shell) legtbbszr specilis konfigurcis fjlokat tltenek
be, krnyezeti vltozkat vesznek t/lltanak be (lsd kso bb), de ezen kvl minden
egybben megegyeznek a nem login shellekkel.
Elofordulhat, hogy a felhasznlnk ltrehozsakor megadott alaprtelmezett
(login) hjprogramunkat lecserlnnk egy msikra. Ehhez hasznljuk a chsh parancsot. Debian 2.2 Linux alatt (a jelszavunk megadsa utn) ezt kiadva a kvetkez o t
ltjuk:
1. plda : Aktulis hjprogramunk megvltoztatsa
aries@taplo:~$ chsh
Password:
Changing the login shell for aries
Enter the new value, or press return for the default
Login Shell [/bin/bash]: /usr/bin/tcsh

Itt kell megadnunk az j shellnk futtathat llomnyt a teljes elrsi ttal. Fontos, hogy ez utbbit megadjuk, hiszen csak a shell elindtsa utn lp rvnybe a
PATH krnyezeti vltoz. Ha ezzel kszen vagyunk, akkor a parancs mdostja a
/etc/passwd (de ms rendszereken ez eltro lehet, pldul FreeBSD alatt ez a
/etc/master.passwd) fjl a felhasznlra vonatkoz bejegyzst. Ez legtbbszr egyb informcikat is hordoz (User ID, Group ID, chfn paranccsal megadhat
egyb adatok, stb.). Megeshet, hogy nem a sajtunkat akarjuk megvltoztatni, ekkor
a chsh felhasznlnv szintaxis hasznlatos, pldul: chsh manoe. Mivel a
parancs a jelszfjlt mdostja, ezrt a vltoztatsok csak jbli bejelentkezs esetn
lp letbe. A legtbb terjesztsnl, ha nem ltezo , rvnytelen vagy egyb okok miatt nem futtathat programot adunk meg alaprtelmezett shellnknek, akkor a rendszer
felknl egy lehetosget, hogy egy msikat futtassunk (tbbnyire a Bourne Shellt adja
be), m igyekezznk helyesen megadni j shellnket, hiszen ez nem mindenhol rvnyes! Csnya meglepetsben lehet rsznk rgi Solarisokon, ha rossz adatokat adunk
meg, foleg ha az illeto login nevt ppen root-nak hvjk...
Szmos rendszerben ltezik egy szvegfjl, amely az elrhet o shell-ek futtathat
llomnyainak listjt tartalmazza. Ez a /etc/shells llomny.

1.4.3. Shell vltozk, krnyezeti vltozk


Mivel a Unix-tpus rendszerek tbb felhasznlra s tbb program egyideju hasznlatra lettek kifejlesztve, ezrt a shellekre klnbzo , krnyezetbol jvo tnyezok is
hatnak. Ezek egy rsze ltalnos, minden program ltal elrhet o , vltoz rtku adatok,
amelyeket globlis vagy krnyezeti vltozknak (environment variables) hvunk. Feladatuk az, hogy a shellben fut programok kztt egyfajta kommunikcis lehet o sget
valstsanak meg, mivel a shell gyermek folyamatai elrhetik az o s (shell) krnyezeti
vltozit. ltalnosan elfogadott, hogy a krnyezeti vltozk nevei csak nagybetuket tartalmaznak. Lteznek dediklt krnyezeti vltozk, melyeknek jl meghatrozott
szerepk s rtkk van. Ezek:
EDITOR Az alaprtelmezett szvegszerkeszto nk futtathat llomnynak neve (elrsi ttal, ha nincs benne a PATH-ben). Clszeru megadni kedvenc szvegszerkesztonket, mivel szmos program szerkesztsi muveleteknl az itt megadott
programot indtja el.
HOME A felhasznli knyvtrunk elrsi tvonala. Ennek rvidtse a / jel.
MAIL Annak a mappnak a neve (elrsi tvonallal s fjlnvvel), amelybe emailjeink rkeznek.
OSTYPE Az opercis rendszernk tpusa. Az adott rendszerre jellemz o szveget
tartalmaz, pl. linux-gnu, FreeBSD, stb.
PAGER Az alaprtelmezett fjlnzo programunk futtathat llomnynak nevt kell
tartalmaznia. Sok program hasznlja megjelentshez, tbbek kzt a man is.
PATH Azokat az elrsi tvonalakat tartalmazza, ahol a shell futtathat llomnyokat
keres. Ez gyakorlatilag annyit tesz, hogy ahhoz, hogy ilyen knyvtrban lv o
fjlokat futtatni tudjunk, nem szksges azok elrsi tvonalt megadni. Tbb
knyvtrat gy lehet megadni, hogy kzjk ketto spontot (:) tesznk, teht a
szintaxis: PATH="knyvtr1:knyvtr2:...:knyvtrn". Pldul:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11"
Fontos, hogy az ppen aktulis knyvtrat leheto leg (ez fokozottan igaz azokra a
felhasznlkra, akik adminisztrtori jogosultsgokkal brnak) ne tegyk a PATHbe, mert ezzel biztonsgi lyukat hozunk ltre. Kpzeljnk el egy olyan helyzetet, hogy rendszergazdaknt az egyik felhasznl segtsget kr t o lnk, s mi
kszsgesen prblunk neki segteni adminisztrtori azonostnkkal. Belpnk
a felhasznl knyvtrba, berjuk, hogy ls. m a felhasznlnk gonosz mdon
ugyanitt elhelyezett egy futtathat ls programot, amely nem csak azt csinlja,
hogy kirja a fjlok listjt, hanem egyb muveleteket is, pl. egy j, 0-s UID-u
felhasznlt is bejegyez a jelszfjlba, vagy a jelenlegi login programot fellrja egy olyannal, amely nem csak belptet, hanem az azonostt s a jelszt
eljuttatja neki. Ekkor - ha az aktulis knyvtr benne van a PATH-ben - (emlkeztetol, a Unix-tpus rendszerek . (pttyel) jellik az aktulis knyvtrat)
nem a /bin-ben lvo ls hajtdik vgre, hanem felhasznl.
PWD Ez egy specilis vltoz, rtkt a shellek minden knyvtrvltsnl frisstik
s az aktulis knyvtr nevt tartalmazza a teljes elrsi ttal. Ez legtbbszr
megegyezik a pwd parancs visszatrsi rtkvel, kivve ha szimbolikus ktsu
9

(symbolic link) knyvtrrl van sz. Ekkor ugyanis a PWD rtke abbl az
irnybl fogja mutatni a knyvtrt, ahonnan belptnk, mg a pwd parancs a
fizikailag ltezo felol.
2. plda : Klnbsg a pwd parancs s a PWD krnyezeti vltoz kztt
aries@taplo:/usr/doc$ ls -l xbill
lrwxrwxrwx 1 root root 18 Jul 25 16:06 xbill -> ../share/doc/xbill
aries@taplo:/usr/share/doc$ cd /usr/doc/xbill
aries@taplo:/usr/doc/xbill$ pwd
/usr/share/doc/xbill
aries@taplo:/usr/doc/xbill$ echo $PWD
/usr/doc/xbill

Termszetesen ez a klnbsg shellfggo .


SHELL Jelenleg fut shellnk programneve teljes elrsi tvonallal.
TERM a terminl tpust tartalmazza. Ez Linux esetn legtbbszr linux vagy xterm,
de rendszertol fggoen ez lehet cons25, vt100, stb.
A shell karbantart egy belso paramterlistt, amelyet shell vltozknak hvunk.
Ezeket ms programok (szlo s gyermek egyarnt) nem rhetik el, nem mdosthatjk
s csak a shell mukdst befolysoljk. ltalnos megllapods, hogy a shell vltozk
nevei csak kisbetukbol llnak. Mivel ezek elg specifikusak, ezrt rluk bo vebben az
egyes hjprogramok lersnl rtekeznk.

1.5. A shellekrol rszletesen


1.5.1. Bourne Shell
Mint azt a trtnelmi ttekintsben is elmondtuk, a Bourne Shell a leg o sibb shell. Br
az idok folyamn nmi vltoztatson ment keresztl, a felhasznlk szmra megmaradt annak, ami volt: egy egyszeru hjprogram, amely mentes a mai modern shellek
minden knyelmi funkcijtl. Nem vletlen azonban, hogy a mai napig megtallhat, hiszen felesleges fajslyosabb parancsrtelmezo t elindtani, ha csak programokat
akarunk elindtani vagy egy kisebb shell-szkripteket rni.
Ez a shell egy futtathat binris fjlal rendelkezik, melynek neve: sh, amely a
/bin knyvtrban tallhat (ez is jl szemllteti, hogy alapveto kellke a Unix-tpus
rendszereknek).
Programindts
A shell mukdse fejezetben mr trgyaltuk, hogy elmletben hogyan is indul el
egy program. Ez a gyakorlatban gy mukdik, hogy a parancssorba berjuk elrsi
ttal a futtathat llomny nevt, majd az rvnyesto karaktert (amelyet alapesetben
az ENTER vagy a RETURN billentyu produkl). Ha a programunk futsa vget r
vagy megszakad, jbl megkapjuk a parancssort. Egy sorban tbb futtatand fjlt is
megadhatunk, ezek kz ; (pontosvesszo ) kell kerljn, teht

10

program1 ; program2 [ ; program3

... ]

Mint azt a shell mukdse rszben mr megemltettk, ltezik egy olyan futtatsi
lehetosg is, amikor a programot nem elo trben, hanem a httrben futtatjuk. Ezt gy
tudjuk megtenni, ha a programnv utn egy & (s) jelet tesznk:
program1 & [ program2 & ... ]
Hogy milyen folyamatok futnak a httrben, azt a jobs paranccsal tudjuk lekrni.
Ha nmagban adjuk ki a parancsot, akkor ltalban a
[szm1] szm2 visszatrsi rtk

kiadott parancs

formban egy listt kapunk, ahol a szm1 a httrben fut parancsunk sorszma,
a szm2 pedig a folyamatazonostja. A visszatrsi rtk a folyamat visszatrsi
rtke, amennyiben befelyezo dtt. Ha ez sikeresen trtnt, akkor tbbnyire az Exit
0 szveget lthatjuk. Megeshet, hogy a folyamat valamilyen jelzs miatt ll le, ekkor
a jelzsre jellemzo zenetet kapunk, pl. Terminated, Killed stb.
3. plda :
aries@taplo:~/konyv$ find / -name dallas.mpeg &
25723
aries@taplo:~/konyv$ killall -9 find
[1] 25723 Killed
find / -name dallas.mpeg

rsjelek
Minden hjprogram szmra lteznek klnleges jelentssel br karakterek. Ezek legtbbszr klnfle rsjelek, mint az egy- s ktszeres idzo jel, dollrjel rep (angolul
backslash; a szerzonek rendkvl tetszik ez a szellemes fordts, melynek hasznlatval
is szeretn elismerst kifejezni a kortrs magyar nyelvjtknak), stb.
Escape-karakter
Az idzojelek (lsd lentebb) nlkli rep ( ) a Bourne Shell escape-karaktere.
Tbbek kzt ezzel a jellel lehet elrni, hogy az o t kveto specilis karakter elvesztse mdost hatst. Ha a rkvetkezo karakternek eddig sem volt klnleges
jelentse, akkor az nem jelenik meg. Ez all kivtel az jsor karakter, amely szkzz alakul t.
Dollrjel
A dollrjellel ($) tudunk klnbsget tenni vltoz neve s annak rtke kzt.
Ha a vltoz neve elott $ ll, akkor annak rtkre hivatkozunk.
Idzojelek
Az idzojelek arra valk, hogy egyes karakterek vagy lefoglalt szavak specilis
jellegt feloldjk.
Az egyszeres idzojelek () kz zrt jelsoron bell semmilyen specilis karakter
nem rvnyesl. Egyszeres idzo jelek kz mgegy csak gy kerlhet, hogy egy
reppel feloldjuk annak klnleges jelentst.

11

A ktszeres idzojelek (") kztti fzrben a dollrjelen, jobbratart felso vesszon () s repen kvli klnleges jelek elvesztik specilis jelentsket. A $
s a mindig, mg a rep csak abban az esetben lesz specilis, ha a $, `, "
, vagy egy j sor kveti.
A jobbratart felsovesszo tulajdonkppen egy opertor, amely a kt (AltGr+7)
kztt lvo jelsort vgrehajtja, s a kimenett adja vissza gy, hogy az jsor
karakter helyre szkzt rak.
Kettoskereszt
A kettoskereszt (#) segtsgvel tudunk megjegyzseket elhelyezni. Onnantl,
hogy a # megjelenik egy sorban, az o t kveto karaktereket az sh figyelmen kvl
hagyja.
A Bourne Shell s a vltozk
A Bourne Shell esetben nem klntheto k el teljesen a shell s a krnyezeti vltozk. Amikor a shell elindul, a krnyezeti vltozk tblbl kiolvassa az informcikat,
majd definil magnak ugyanolyan nevu shell vltozkat (a konvenci miatt nagybetuseket) s bemsolja a hozzjuk tartoz adatokat. Teht a shell csak a sajt vltozit hasznlja, gy ha egy shell vltozt mdostunk, akkor clszeru kiexportlnunk
ugyanilyen nevu krnyezeti vltozknt is, hogy ne legyen kevereds, valamint, hogy
a shellbol indtott programok is rzkeljk a vltoztatst. (Emlkezteto : a krnyezeti
vltozkat a gyermek folyamatok is el tudjk rni, a shell vltozkat nem.)
Vltozt ltrehozni a rtkad utastssal lehet. Ennek szintaktikja:
valtoznv=rtk
A vltoznv csak alfanumerikus karaktereket tartalmazhat, specilisakat nem.
Egy shell vltozt krnyezeti vltozv tenni az export belso paranccsal lehet:
export vltoznv
Ha egy vltoz rtkre kvnunk a kso bbiekben hivatkozni, akkor a vltoznv
el $ (dollr) jelet kell tenni. Ha mr nincs szksgnk a vltozra, akkor az unset
paranccsal szntethetjk meg. Hasznlata:
unset vltoznv
4. plda : Plda a Bourne Shell vltozkezelsre I.
aries@dynamo> valtozo=ertek
aries@dynamo> export valtozo
aries@dynamo> echo $valtozo
ertek

Megtehetjk, hogy tbb vltoznak vagy skalrnak az rtkt akarjuk egyetlen


sorban sszefuzni. Ekkor el kell magyarzni a shellnek, hogy hol van vge a vltoznvnek, illetve, hogy hol kezdo dik egy j vagy a skalr rtk:
parancs skalr1${vltoznv1}${vltoznv2}
skalr2

12

Ha jl elhatrolhat (specilis karakter), hogy hol van vge a vltozknak, akkor a


kapcsos zrjeleket elhagyhatjuk.
5. plda : Plda a Bourne Shell vltozkezelsre II.
aries@taplo:~/$
aries@taplo:~/$
aries@taplo:~/$
almabor
aries@taplo:~/$
aries@taplo:~/$

alma="alma" ; bor="bor"
mitiszunk=$alma$bor
echo $mitiszunk
miteszunk=$almapaprika
echo $miteszunk

aries@taplo:~/$ miteszunk=${alma}paprika
aries@taplo:~/$ echo $miteszunk
almapaprika
aries@taplo:~/$ echo ls -al /lost+found/
total 20
drwxr-xr-x 2 root root 16384 Jun 24 17:05 .
drwxr-xr-x 26 root root 4096 Jul 24 10:10 ..

1.5.2. Korn Shell


A Korn Shell a Bourne Shell tovbbfejlesztse. Rengeteg knyelmi funkcit ptettek
bele, amelyre mr nagy igny volt (tbbek kzt a Korn Shell kpes arra, hogy egy
lpsben hozzon ltre krnyezeti vltozt.
6. plda : rtkads s exportls egy utastssal
export ALMA="jonatan"

A Korn Shell futtatand llomnynak neve ksh.


Shell kapcsolk
A shell kapcsolk hasznlata egy jabb md arra, hogy megvltoztassuk hjprogramunk mukdst. Ezek voltakppen ktlls kapcsolk: vagy rvnyben vannak,
vagy nem. Egy kapcsolt be- s kikapcsolni a
set -o opci"
formban lehet. Hogy melyik mire hivatott, azt az albbi lista tartalmazza. Amelyik
mellett parancssori kapcsol tallhat, azt a ksh utn megadva a kvnt hats szintn
elrheto.
bgnice A httrbe kerlo folyamatok alacsonyabb prioritssal futnak. Ez ltalban
alaprtelmezett, de hogy mekkora az j priorits, az terjesztst o l s opercis
rendszertol is fgg.
emacs EMACS mdba kapcsolja a sorszerkeszto t. Hatsra a parancsnaplban s a
parancssorban alkalmazhatjuk az EMACS szvegszerkeszto funkciit.
gmacs Gosling EMACS mdba kapcsolja a sorszerkeszto t. Ez tbb-kevsb megegyezik az EMACS mddal.
vi Visual Editor (vi) mdba kapcsolja a sorszerkeszto t. Bekapcsolsval a vi funkcii hasznlhatk. Egy parancs addig szerkesztheto , amg a 033-as kd escape
karakter bevitelre nem kerl.
13

ignoreeof Aktv llapotban nem engedi, hogy fjlvge (EOF - End Of File) karakterre
kilpjnk a shellbol. Az exit vagy a logout parancsokat kell ilyenkor alkalmazni.
markdirs Fjlnvkiegszts sorn ha knyvtrrl van sz, a kiegsztett nv vgre
tesz egy perjelet (/).
noclobber -C Megakadlyozza a kimenet tirnytst mr ltezo fjlba.
monitor -m Engedlyezi a folyamatvezrlst. Azok a tbbfeladatos opercis rendszerek s interaktv shellek esetben ez ltalban alaprtelmezett.
errexit Nulltl eltro hibakd esetn a kivtel elkapsa. Ez shellszkriptek esetn
annak befejezodst vonja maga utn.
keyword -k Bekapcsolt llapotban ha egy parancs paramtere a nv=rtk formj,
akkor a shell levgja azt a parancssorbl, s vgrehajtja azt, mint a parancsot
megelozo utastst, majd a parancs szmra a vgrehajts ideje alatt kiexportlja.
nolog Hatsra a fggvnydefincikat nem menti el a parancsnapl fjlba.
noglob Aktv llapotban a fjlnevek nem kerlnek kirtkelsre.
noexec -n Hatsra a parancsok beolvasst kveto en szintaxisellenorzsen esnek t,
de nem kerlnek vgrehajtsra.
nounset -u Shellprogramozs esetn hasznos hibakereso lehetosg, amely rvn figyelmeztetst kapunk, ha olyan vltozra hivatkozunk, amely nem hordoz rtket (nincs definilva).
trackall -t Ha a kapcsol aktv, akkor minden rvnyes, nem teljes bejrsi ttal megadott parancshoz automatikusan hozzrendelo dik egy nyomkveto lnv (lsd
ott).
Helyettesto nevek (alias)
A helyettesto nevekkel parancsok valdi neve s azok paramterei helyettesthet o k,
gy egy hosszabb, surun hasznlt parancsot nevezhetnk el egy rvidebb nvvel.
Hasznlata:
alias [-t] [-x] nv="parancs [paramterek]"
7. plda : Helyettesto nv
$ alias ls="ls -al"
$ ls
total 4
drwxr-xr-x
2 aries
drwxr-xr-x
4 aries

wheel
wheel

512 Jul 31 10:32 .


512 Jul 31 10:32 ..

-t A kapcsol segtsgvel nyomkveto lneveket (tracked aliases) definilhatunk.


A shell szmos kiadott parancshoz automatikusan kszt egy nyomkvet o lnv
bejegyzst. Ezek rtke megegyezik az o ket definil parancshoz tartoz bejrsi ttal s a fjlnvvel. Mivel a shellek elo bb nzik vgig az lneveket, mint a
PATH krnyezeti vltozban megadott bejrsi utakat, ezrt ennek teljestmnynvelo hatsa van. Ha nem adunk meg helyettestendo nevet, akkor egy listt
14

kapunk:
8. plda : Nyomkveto lnevek
$ alias -t
cat=/usr/bin/cat
ls=/usr/bin/ls
vi=/usr/bin/vi
$ alias -t man
cat=/usr/bin/cat
ls=/usr/bin/ls
man=/usr/bin/man
vi=/usr/bin/vi

-x Ezzel a kapcsolval az export paranccsal kiexportlt lneveket definilhatunk. Ezeket a shell gyermek folyamatai is megkapjk, azokat hasznlhatjk.
Ha mr nincs szksgnk egy helyettesto nvre, akkor az unalias paranccsal
szntethetjk meg.
unalias helyettest
o nv
vagy
unalias -a
A -a kapcsol hatsra minden helyettesto nv trlodni fog. Mivel a helyettesto
nevek a memriban vannak trolva, ezrt a surun hasznlt lneveket clszeru a belpskor lefut .profile-ban elhelyezni.
Parancsnaplz (history)
Ismer parancsnaplz lehetosget, amely beptett funkciknt elrheto a history paranccsal, gy megtehetjk, hogy egy korbbi parancsot megvltoztatunk s kiadunk
anlkl, hogy jra be kellene gpelnnk. Ez gy lehetsges, hogy a shell folyamatosan
menti minden kiadott parancsunkat egy n. history fjlba, melynek helyt s nevt a
HISTFILE vltoz hordozza. Ennek a fjlnak a mrete vges, szablyozni a HISTSIZE
vltozval lehet, amelynek rtke a letroland programok szma.
A kiadott utastsainkkal kapcsolatos muveletekre a history parancsot kell hasznlni. Ez egy helyettesto nv az fc (ez a fix command, magyarul parancs javts
rvidtse) parancsra a ms Bourne-gi shellek rdekben. A teljessg kedvrt mindkettot ismertetjk.
ol [idig]]
history [-r] [innent
vagy
ol [idig]]
fc -l [-nr] [innent
Kapcsolk:
-l Hatsra az fc kilistzza a parancsnapl tartalmt. A history az fc -l lneve.
15

-n Ennek eredmnyre az fc nem tnteti fel a parancsok melletti sorszmot. Ez hasznos lehet, ha pl. fjlba irnytjuk t a listt, hogy jra kiadjuk.
-r A kapcsol eredmnyl a listnk fordtott sorrendben jelenik meg (a legutbb kiadott kerl legfellre).
innentol, idig Ezek megadsval szablyozhat, hogy a parancsnapl mekkora rsze
jelenjen meg.
A parancssorba paramterek nlkl berva kapunk egy listt a korbban bevitt
parancsokrl.
9. plda : History parancs paramterek nlkl
$ history
123
cd globt2
124
ls
125
ls -l
126
df
127
quit
128
w
129
df
130
man ksh
131
less
132
man ksh
133
vim
134
joe
135
ls /usr/bin
136
ls /usr/local/bin
137
vi
138
history

Ha csak egy bizonyos rszt szeretnnk megkapni, akkor meg kell adni, hogy mett o l
meddig terjedjen a listzs:
10. plda : Parancsnapl egy rsznek lekrse
$ history 123 128
123
cd globt2
124
ls
125
ls -l
126
df
127
quit
128
w

A mr kiadott parancsainkat jra felhasznlni az r paranccsal lehet.


r [rgi=j]

[parancs]

vagy
fc -e - [rgi=j] [parancs]
parancs Ha tudjuk a parancsunk sorszmt, akkor azt parancsnak megadva jra le fog
futni. Ha negatv szmot adunk meg, akkor az aktulis sorszmhoz hozzadva
az j sorszm fog megjelenni.
rgi, j Ha ezt a kt kapcsolt megadjuk, akkor amennyiben a rgi jelsort megtallja
a megadott parancsban, kicserli az jra. Ez hasznos lehet, ha elgpeltnk egy
hossz parancsot, s tudjuk, hogy mit kell rajta mdostani.
16

11. plda : Rgebben kiadott parancs mdostott jrakiadsa


Legyen a parancsunk a 125-s sorszm ls -l.
Ezt szeretnnk kicserlni ls -al -re.
Ekkor nem kell mst tennnk, mint kiadni az
r -l=-al 125 utastst.

A Korn shell ltal mdostott vltozk


A Korn Shell rendelkezik nhny specilis vltozval, amivel a Bourne Shell nem.
Ezek rtke folyamatosan vltozik, s o maga frissti. Ezek:
ERRNO Azt a nemnulla szmot tartalmazza, amellyel a shellben legutoljra futtatott
program visszatrt. A vltoz hasonlt a $?-hez, azzal a klnbsggel, hogy csak
akkor kap rtket, ha a program hibval tr vissza.
LINENO Csak szkriptfuttatsnl van jelento sge, ugyanis annak a sornak a szmt
veszi fel, ahol a vgrehajts tart.
OLDPWD A legutols cd parancs elott knyvtrnv teljes elrsi tvonalt tartalmazza.
PPID A jelenlegi folyamat szlojnek folyamatazonostja. Ha a $$ az ppen aktulis
folyamat PID-jt tartalmazza, akkor a PPID a folyamat szlo jnek PID-jt. Foleg
szkriptek rsnl hasznlatos.
RANDOM rtke 0 s 32767 kzti szm. Minden lekrskor vletlenszeruen vltozik az rtke. Mivel a vletlenszm generlsa nem fgg a bemenett o l, ezrt
shellszkriptekben is jl hasznlhat.
SECONDS A shell indulstl szmtott ido t adja vissza msodpercekben.
A Korn Shell vltozi
A Korn Shell vltozi magban foglaljk a Bourne Shell-t is, de tartalmaznak szmos
egyebet is.

1.5.3. Bourne Again Shell


A Bourne Again Shell (tovbbiakban BASH) mint a

17

GNU Szabad Dokumentcis


Licensz 1.1 verzi, 2000 mrcius
Copyright c 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston,
MA 02111-1307 USA
Jelen licensz sz szerinti sokszorostsa s terjesztse brki szmra megengedett, vltoztatni rajta ugyanakkor nem lehet.

0. ELOSZ
Jelen Licensz clja egy olyan kziknyv, tanknyv, vagy effajta rott dokumentum megalkotsa, mely a sz szoros rtelmben szabad: annak rdekben, hogy mindenkinek
biztostsa a szveg sokszorostsnak s terjesztsnek teljes szabadsgt, mdostsokkal, vagy anlkl, akr kereskedelmi, akr nem-kereskedelmi ton. Msfel o l, e
Licensz megorzi a szerzo, vagy kiad munkja elismershez fuzo do jogt, s egyttal
mentesti o t a msok ltal beiktatott mdostsok kvetkezmnyei all.
Jelen Licensz egyfajta etalonnak tekintheto , ami nem jelent mst, mint hogy a
dokumentumbl szrmaztatott munkk maguk is szabad min o stst kell, hogy kapjanak. E dokumentum egyben a GNU ltalnos Felhasznli Licensz kiegszt o jeknt
is szolgl, mely egy a szabad szoftverekre vonatkoz etalon licensz.
E Licenszet a szabad szoftverek kziknyveiben val hasznlatra alkottuk, hiszen a
szabad szoftver egyben szabad dokumentcit is ignyel: egy szabad programot olyan
kziknyvvel kell elltni, mely ugyanazon szabadsgokat biztostja, mint maga a program. Jelen Licensz, mindazonltal, nem korltozdik pusztn kziknyvekre; felttelei
tetszoleges trgykru rott dokumentumra alkalmazhatk, fggetlenl attl, hogy az
knyvformban valaha megjelent-e. Mindamellett e Licenszet f o knt olyan munkkhoz ajnljuk, melyek elsodleges clja az tmutats, vagy a tjkoztats.

1. ALKALMAZHATSG S DEFINCIK
E Licensz minden olyan kziknyvre, vagy ms jellegu munkra vonatkozik, melyen
megtallhat a szerzoi jogtulajdonos ltal feltntetett figyelmeztets, miszerint a dokumentum terjesztse jelen Licensz felttelei alapjn lehetsges. A Dokumentum
albb brmely ilyen jellegu kziknyvre, vagy egyb munkra vonatkozik. A lakossg
minden tagja potencilis licensztulajdonosnak tekintheto , s mindegyikk megszltsa egyarnt n.

18

A Dokumentum Mdostott Vltozata brmely olyan munkra vonatkozik, mely


tartalmazza a Dokumentumot, vagy annak elemeit akr sz szerint, akr mdostsokkal, s/vagy ms nyelvre lefordtva.
A Msodlagos Szakasz egy egyedi nvvel br fggelk, esetleg a Dokumentum
egy megelozo szakasza, mely kizrlag a kiadknak, vagy az alkotknak a Dokumentum tfog trgykrhez (vagy kapcsold tmkhoz) fuz o do viszonyrl szl, s nem
tartalmaz semmi olyat, ami kzvetlenl ezen tfog tmakr al eshet. (Ha pldul a
Dokumentum rszben egy matematika tanknyv, gy a Msodlagos Szakaszban nincs
lehetosg matematikai trgy magyarzatokra.) A fenti kapcsolat trgya lehet a tmakrrel, vagy a kapcsold tmkkal val trtnelmi viszony, illetve az azokra vonatkoz jogi, kereskedelmi, filozfiai, etikai, vagy politikai felfogs.
A Nem Vltoztathat Szakaszok olyan specilis Msodlagos Szakasznak szmtanak, melyek ilyetn val meghatrozst az a kzlemny tartalmazza, miszerint a
Dokumentum jelen Licensz hatlya alatt lett kiadva.
A Bortszvegek olyan rvid szvegrszek, melyek Cmlap-szvegknt, illetve
Htlap-szvegknt kerlnek felsorolsra abban a kzlemnyben, miszerint a Dokumentum jelen Licensz hatlya alatt lett kiadva.
A Dokumentum tltsz pldnya olyan gppel-olvashat vltozatot jell, mely
a nyilvnossg szmra hozzfrheto formtumban kerl terjesztsre, tovbb melynek
tartalma szokvnyos szvegszerkeszto -programokkal, illetve (pixelekbo l ll kpek
esetn) szokvnyos kpmegjelento -programokkal, vagy (rajzok esetn) ltalnosan
hozzfrheto rajprogramok segtsgvel azonnal s kzvetlenl megtekinthet o , vagy
mdosthat; tovbb olyan formtumban mely alkalmas a szvegszerkeszt o kbe val
bevitelre, vagy a szvegszerkeszto k ltal kezelt formtumokba val automatikus talaktsra. Egy olyan, egybknt tltsz formtumban kszlt pldny, melynek markupja gy lett kialaktva, hogy megakadlyozza, vagy eltntortsa az olvaskat minden
tovbbi mdoststl, nem tekintheto tltsznak. A nem tltsz pldnyok az
tltszatlan megnevezst kapjk.
Az tltszsg kritriumainak megfelelo formtumok kztt megtallhat pldul
a markup nlkli egyszeru ASCII, a Texinfo beviteli formtum, a LATEX beviteli formtum, az SGML vagy az XML egy ltalnosan hozzfrheto DTD hasznlatval, s
a standardnak megfelelo, emberi mdostsra tervezett egyszeru HTML. Az tltszatlan formtumok kz sorolhat a PostScript, a PDF, a szabadalmaztatott s csak fizet o s
szvegszerkesztokkel olvashat formtumok, az olyan SGML vagy XML, melyhez a
szksges DTD s/vagy egyb feldolgoz eszkzk nem ltalnosan hozzfrhet o k, s
az olyan gpileg-generlt HTML formtum, melyet egyes szvegszerkeszt o k hoznak
ltre, kizrlag kiviteli clra.
Egy nyomtatott knyv esetben a Cmlap magt a cmlapot, illetve brmely azt
kiegszto tovbbi oldalt jell, amely a jelen Licenszben definilt cmlap-tartalmak
kzzttelhez szksges. Az olyan formtum munkknl, melyek nem rendelkeznek effajta cmlappal, a Cmlap a munka cmhez legkzelebb es o , m a szveg
trzst megelozo szvegrszeket jelli.

2. SZ SZERINTI SOKSZOROST S
nnek lehetosge van a dokumentum kereskedelmi, vagy nem-kereskedelmi jellegu
sokszorostsra s terjesztsre, brmely mdiumon keresztl, feltve, hogy jelen Licensz, a szerzoi jogi figyelmeztets, tovbb a Dokumentumot jelen Licensz hatlya
19

al rendelo kzlemny minden pldnyban egyarnt megjelenik, s hogy e feltteleken


kvl semmi mst nem tesz hozz a szveghez. Nem alkothat olyan technikai korltokat, melyek megakadlyozhatjk, vagy szablyozhatjk az n ltal terjesztett pldnyok elolvasst, vagy sokszorostst. Mindazonltal elfogadhat bizonyos sszeget a
msolatok fejben. Amennyiben az n ltal terjesztett pldnyok szma meghalad egy
bizonyos mennyisget, gy a 3. szakasz feltteleinek is eleget kell tennie.
A fenti kritriumok alapjn klcsnbe adhat egyes pldnyokat, de akr nyilvnosan is kzzteheti a szveget.

3. SOKSZOROST S NAGYOBB MENNYISGBEN


Amennyiben 100-nl tbb nyomtatott vltozatot tesz kzz a Dokumentumbl, s annak Licensze felttell szabja a Bortszvegek megltt, gy minden egyes pldnyt
kteles elltni olyan bortlapokkal, melyeken a kvetkez o Bortszvegek tisztn s
olvashatan fel vannak tntetve: Cmlap-szvegek a cmlapon, illetve Htlap-szvegek
a htlapon. Mindkt bortlapra egyrtelmuen s olvashatan r kell vezetnie a kiad,
vagyis jelen esetben az n nevt. A cmlapon a Dokumentum teljes cmnek jl lthatan, tovbb minden egyes sznak azonos szedsben kell megjelennie. Ezen fell,
beltsa szerint, tovbbi rszleteket is hozzadhat a bortlapokhoz. Amennyiben az
esetleges mdostsok kizrlag a bortlapokat rintik, s feltve, hogy a Dokumentum cme vltozatlan marad, tovbb a bortlapok megfelelnek minden egyb kvetelmnynek, gy a sokszorosts etto l eltekintve sz szerinti reprodukcinak mino sl.
Abban az esetben, ha a bortlapok brmelyikn megkvetelt szvegrszek tl
hossznak bizonyulnnak az olvashat kzzttelhez, gy csak az els o knt felsoroltakat kell feltntetnie (amennyi jzan belts szerint elfr) a tnyleges bortn, a tovbbiak pedig tkerlhetnek a kvetkezo oldalakra.
Amennyiben 100-nl tbb tltszatlan pldnyt tesz kzz, vagy terjeszt a Dokumentumbl, gy kteles vagy egy gppel-olvashat tltsz pldnyt mellkelni minden egyes tltszatlan pldnyhoz, vagy lerni minden egyes tltszatlan pldnyban
egy a mdostatlan tltsz pldnyt tartalmaz nyilvnos hozzfrsu szmtgphlzat elrhetosgt, ahonnan brki, anonim mdon, trtsmentesen letltheti azt,
egy kzismert hlzati protokoll hasznlatval. Ha az utbbi lehet o sget vlasztja,
kteles gondoskodni arrl, hogy attl a naptl kezdve, amikor az utols tltszatlan
pldny is terjesztsre kerlt (akr kzvetlenl n ltal, akr kiskereskedelmi forgalomban), a fenti helyen kzztett tltsz pldny mg legalbb egy vig hozzfrhet o
legyen a felhasznlk szmra.
Megkrjk, mde nem ktelezzk nt arra, hogy minden esetben, amikor nagyobb
pldnyszm terjesztsbe kezd, mr jval ezt megelo zoen lpjen kapcsolatba a Dokumentum szerzoivel, annak rdekben, hogy megkaphassa to lk a Dokumentum esetleges feljtott vltozatt.

4. MDOST S
nnek lehetosge van a Dokumentum Mdostott Vltozatnak sokszorostsra s terjesztsre a 2. s 3. szakaszok fenti rendelkezsei alapjn, feltve, hogy a Mdostott

20

Vltozatot kizrlag jelen Licensz feltteleivel sszhangban teszi kzz, ahol a Mdostott Vltozat a Dokumentum szerept tlti be, ezltal leheto sget biztostva annak
terjesztsre s mdostsra brkinek, aki csak hozzjut egy pldnyhoz. Mindezen
fell, a Mdostott Vltozat az albbi kvetelmnyeknek is meg kell, hogy feleljen:
A Cmlapon (s ha van, a bortkon) tntessen fel egy a Dokumentumtl, illetve
brmely korbbi vltozattl eltro cmet (melyeknek, ha vannak, a Dokumentum Elozmnyek szakaszban kell szerepelnik). Egy korbbi vltozat cmt
csak akkor hasznlhatja, ha annak szerzo je engedlyezte azt.
A Cmlapon szerzokknt sorolja fel a Mdostott Vltozatban elvgzett vltoztatsokrt felelos szemlyeket, vagy entitsokat, tovbb a Dokumentum f o szerzoi kzl legkevesebb tt (vagy mindet, ha nincsenek ten).
A Cmlapon a Mdostott Vltozat kzzttelrt felelo s szemlyt tntesse fel
kiadknt.
A Dokumentum sszes szerzoi jogi figyelmeztetst hagyja rintetlenl.
Sajt mdostsaira vonatkozan is tegyen kzz egy szerz o i jogi megjegyzst,
a tbbi ilyen jellegu figyelmeztets mellett.
Rgtn a szerzoi jogi figyelmeztetseket kvetoen tntessen fel egy kzlemnyt,
az albbi Fggelk mintjra, melyben engedlyezi a Mdostott Vltozat felhasznlst jelen Licensz felttelei alapjn.
A fenti kzlemnyben hagyja rintetlenl a Nem Vltoztathat Szakaszok s a
szksges Bortszvegek jelen Dokumentum licenszben el o rt teljes listjt.
Mellkelje jelen Licensz egy eredeti pldnyt.
Az Elozmnyek szakaszt, illetve annak cmt szintn hagyja rintetlenl,
emellett adjon hozz egy j elemet, amely minimlisan tartalmazza a Mdostott Vltozat cmt, kiadsi vt, tovbb az j szerzo k, illetve a kiad nevt,
a Cmlapon lthatkhoz hasonlan. Amennyiben a Dokumentum nem tartalmaz
semmifle Elozmnyek elnevezsu szakaszt, gy hozzon ltre egyet, mely tartalmazza a Dokumentum cmt, kiadsi vt, tovbb a szerz o k, illetve a kiad
nevt, a Cmlapon lthatkhoz hasonlan; majd ezt kveto en adjon hozz egy j,
a Mdostott Vltozatra vonatkoz elemet, a fentiekkel sszhangban.
Ne tegyen vltoztatsokat a Dokumentumban megadott tltsz pldny nyilvnos hlzati elrhetosgt (ha van ilyen) illetoen, vagy hasonlkpp, a Dokumentum alapjul szolgl korbbi vltozatok hlzati helyre vonatkozan. Ezek az
Elozmnyek szakaszban is szerepelhetnek. Csak abban az esetben hagyhatja el
egyes korbbi vltozatok hlzati elrheto sgt, ha azok legkevesebb ngy vvel
a Dokumentum elott kszltek, vagy ha maga az alkot engedlyezi azt.
Brmely Ksznetnyilvnts, vagy Ajnlsok szakasz cmt hagyja rintetlenl, tovbb gondoskodjon arrl, hogy azok tartalma s hangvtele az egyes
hozzjrulkat, s/vagy az ajnlsokat illeto en vltozatlan maradjon.
A Dokumentum sszes Nem Vltoztathat Szakaszt hagyja rintetlenl, gy
cmket, mint tartalmukat illetoen. A szakaszok szmozsa, vagy brmely azzal
egyenrtku jells nem tartozik a szakaszcmek kz.
21

Trljn minden Jvhagys elnevezsu szakaszt. Effajta szakaszok nem kpezhetik rszt a Mdostott Vltozatnak.
Ne nevezzen t semmilyen ltezo szakaszt Jvhagys-ra, vagy olyasmire,
mely cmben a Nem Vltoztathat Szakaszokkal tkzhet.
Ha a Mdostott Vltozat j megelozo szakaszokat tartalmaz, vagy olyan fggelkeket, melyek Msodlagos Szakasznak mino slnek, m nem tartalmaznak a Dokumentumbl szrmaz anyagot, abban az esetben, beltsa szerint, e szakaszok nmelyikt,
vagy akr az sszeset nem vltoztathatknt sorolhatja be. Ehhez nem kell mst tennie,
mint felsorolni a szban forg cmeket a Mdostott Vltozat licensznek Nem Vltoztathat Szakaszok listjban. E cmeknek hatrozottan el kell klnlnie minden egyb
szakaszcmtol.
Jvhagys elnevezsu szakaszt csak akkor adhat a Dokumentumhoz, ha az kizrlag a Mdostott Vltozatra utal megjegyzseket tartalmaz pldul msok recenziira vonatkozan, vagy hogy egy szervezet a szveget egy standard mrvad defincijaknt ismerte el.
Cmlap-szveg gyannt egy legfeljebb t szbl ll szvegrszt adhat meg, a
Htlap-szveg esetn pedig 25 szt fuzhet a Mdostott Vltozat Bortszvegeinek
vghez. Brmely entits csak s kizrlag egy Cmlap- s egy Htlap-szvegrszt
adhat (akr kzvetton keresztl) a Dokumentumhoz. Ha a dokumentum mr eleve
rendelkezik Bortszveggel, akr azrt, mert azt korbban n adta hozz, vagy mert
valaki ms nn keresztl gondoskodott erro l, abban az esetben nincs leheto sg jabb
Bortszveg hozzadsra; a rgit mindazonltal lecserlheti, abban az esetben, ha
annak kiadja egyrtelmuen engedlyezi azt.
A Dokumentum szerzoje/i s kiadja/i jelen Licensz alapjn nem teszik leheto v
nevk nyilvnos felhasznlst egyetlen Mdostott Vltozat tmogatsa, vagy tmogatottsga rdekben sem.

5. KOMBINLT DOKUMENTUMOK
nnek lehetosge van a Dokumentum egyb, e Licensz hatlya alatt kiadott dokumentumokkal val kombinlsra a 4. szakasz mdostott vltozatokra vonatkoz rendelkezsei alapjn, feltve, hogy a kombinci mdosts nlkl tartalmazza az eredeti
dokumentumok sszes Nem Vltoztathat Szakaszt, s hogy azok mind Nem Vltoztathat Szakaszknt kerlnek felsorolsra a kombinlt munka licenszben.
A kombinlt munknak jelen Licensz mindssze egy pldnyt kell tartalmaznia, az egymssal tfedsben lvo Nem Vltoztathat Szakaszok pedig kivlthatk
egy sszegzett pldnnyal. Amennyiben tbb Nem Vltoztathat Szakasz szerepelne
ugyanazon cmmel, m eltro tartalommal, gy alaktsa t minden egyes szakasz cmt
olyan mdon, hogy mgrja zrjelben az eredeti szerzo s kiad nevt (ha ismeri),
vagy egy egyedi sorszmot. Ha szksges, a Nem Vltoztathat Szakaszok cmeivel is
vgezze el a fenti mdostsokat a kombinlt munka licenszben.
A kombinlt munkban az eredeti dokumentumok sszes El o zmnyek elnevezsu szakaszt ssze kell olvasztania, miltal egy sszefgg o Elozmnyek szakasz
jn ltre; hasonlkpp kell eljrnia a Ksznetnyilvnts, illetve az Ajnlsok szakaszok tekintetben. Ugyanakkor minden Jvhagys elnevezsu szakaszt trlnie
kell.

22


6. DOKUMENTUMGYUJTEMNYEK
nnek lehetosge van a Dokumentumbl, illetve brmely egyb, e Licensz hatlya alatt
kiadott dokumentumbl gyujtemnyt ltrehozni, s az egyes dokumentumokban tallhat licenszeket egyetlen pldnnyal kivltani, feltve, hogy a gyujtemnyben szerepl o
sszes dokumentum esetn minden ms tekintetben kveti jelen Licensz feltteleit,
azok sz szerinti sokszorostsra vonatkozan.
Tetszse szerint ki is emelhet egy meghatrozott dokumentumot a gyujtemnyb o l,
tovbb terjesztheti azt jelen Licensz felttelei alapjn, feltve, hogy a szban forg dokumentumhoz mellkeli e Licensz egy pldnyt, s minden egyb tekintetben betartja
jelen Licensz elorsait a dokumentum sz szerinti sokszorostsra vonatkozan.

7. SSZEFUZS
FGGETLEN MUNKKKAL
A Dokumentum s annak szrmazkainak klnll, vagy fggetlen dokumentumokkal, illetve munkkkal val sszefuzse egy kzs trolsi, vagy terjesztsi egysgen,
egszben nem tekintheto a Dokumentum Mdostott Vltozatnak, feltve, hogy az
sszefuzs nem lesz szerzoi jogvdett. Az effajta sszefuzs eredmnyeknt sszegzs jn ltre, m jelen Licensz nem rvnyes az abban a Dokumentummal egytt
szereplo nll munkkra, hacsak azok nem a Dokumentum szrmazkai.
Amennyiben a 3. szakasz Bortszvegekre vonatkoz rendelkezsei alkalmazhatk a Dokumentum e pldnyaira, s a Dokumentum a teljes sszegzsnek kevesebb,
mint egynegyedt teszi ki, gy a Dokumentum Bortszvegeit olyan mdon is el lehet helyezni, hogy azok csak magt a Dokumentumot fogjk t. Minden ms esetben
a teljes sszegzs bortlapjain kell feltntetni a fenti szvegeket.

8. FORDT S
A fordts egyfajta mdostsnak tekintheto , gy ht a Dokumentum lefordtott pldnyai a 4. szakasz rendelkezsei alapjn terjesztheto k. A Nem Vltoztathat Szakaszok
lefordtsa kln engedlyt ignyel a szerzo i jogtulajdonostl, mindazonltal kzzteheti a lefordtott vltozatokat is abban az esetben, ha az eredeti Nem Vltoztathat
Szakaszokat is belefoglalja a munkba. E Licensz lefordtsra ugyanezek a felttelek
rvnyesek, vagyis a lefordtott vltozat csak akkor jelenhet meg, ha mellette ott van
az eredeti, angol nyelvu Licensz szvege is. Amennyiben eltrs mutatkozna az eredeti vltozat, illetve a fordts kztt, gy a Licensz angol nyelvu eredetije tekintend o
mrvadnak.

9. MEGSZUNS
A jelen Licenszben egyrtelmuen kijellt kereteken kvl tilos a Dokumentum brminemu sokszorostsa, mdostsa, allicenszelse, vagy terjesztse. Minden ezzel
szembeni sokszorostsi, mdostsi, allicenszelsi, vagy terjesztsi ksrlet a jelen Licenszben meghatrozott jogok automatikus megszunst vonja maga utn. Azok a fe-

23

lek, ugyanakkor, akik nn keresztl jutottak msolathoz, vagy jogosultsgokhoz, nem


vesztik el azokat, amg maradktalanul betartjk e Licensz elo rsait.

10. JELEN LICENSZ JVOBENI


JAVT SAI
Megtrtnhet, hogy a Szabad Szoftver Alaptvny ido rol idore fellvizsglt s/vagy j
verzikat bocst ki a GNU Szabad Dokumentcis Licenszbo l. E verzik szellemisge hasonl lesz jelen vltozathoz, m rszleteikben eltrhetnek, j problmk, j
agglyok felmerlse okn. V.: http://www.gnu.org/copyleft/
A Licensz minden vltozata egyedi verziszmmal van elltva. Ha a Dokumentum jelen Licensz egy konkrt, szmozott verzijra, vagy brmely jabb verzira
hivatkozik, gy nnek a szban forg vltozat, vagy brmely jabb a Szabad Szoftver
Alaptvny ltal (nem vzlatknt) publiklt verzi feltteleinek kvetsre lehet o sge
van. Ha a Dokumentum nem ad meg semmilyen verziszmot, gy brmely a Szabad
Szoftver Alaptvny ltal valaha (nem vzlatknt) publiklt vltozat megfelel.

FGGELK: A Licensz alkalmazsa sajt dokumentumaira


Ha e Licenszet egy n ltal rt dokumentumban kvnja hasznlni, akkor mellkelje
hozz a Licensz egy pldnyt, tovbb vezesse r az albbi szerz o i jogi s licensz
kzlemnyeket, rgtn a cmlapot kveto en:
Copyright c V AZ N NEVE.
E kzlemny felhatalmazst ad nnek jelen dokumentum sokszorostsra, terjesztsre s/vagy mdostsra a Szabad Szoftver Alaptvny ltal
kiadott GNU Szabad Dokumentcis Licensz 1.1-es, vagy brmely azt kveto verzijnak felttelei alapjn. A Nem Vltoztathat Szakaszok neve
SOROLJA FEL A CMKET , a Cmlap-szvegek neve LISTA, a Htlapszvegek neve pedig LISTA. E licensz egy pldnyt a GNU Szabad Dokumentcis Licensz elnevezsu szakasz alatt tallja.
Ha a szvegben nincsenek Nem Vltoztathat Szakaszok, gy rjon nincs Nem
Vltoztathat Szakasz-t, ahelyett, hogy egyenknt felsoroln azokat. Ha nincsenek
Cmlap-szvegek, akkor rjon nincs Cmlap-szveg-et, ahelyett, hogy a Cmlapszvegek neve LISTA, s hasonlkpp jrjon el a Htlap-szvegek esetben is.
Amennyiben a dokumentum halad programkd-pldkat is tartalmaz, gy azt javasoljuk, hogy e pldkat egy vlasztsa szerinti szabad szoftver licensz alatt kzlje
mint pldul a GNU ltalnos Felhasznli Licensz , hogy lehet o v tegye a kdok
szabad szoftverekben val alkalmazst.

24

Htlapszveg
Ezen dokumentum eredetije kszlt 2001-2002-ben a Linux-Felhasznlk
Magyarorszgi Egyeslete gondozsban a MEH IKB pnzgyi tmogatsval. A dokumentum szabadon terjesztheto s msolhat a GNU Szabad
Dokumentcs Licensz felttelei alapjn.

25

You might also like