- VMS alapismeretek Írták: többen... Tartalom 1. File-ok, directory-k specifikacioja 2. Help a lehetseges parancsokrol 3. Directory-k 4. File masolasa 5. File-ok atnevezese 6. File-ok torlese 7. Regi file-verziok torlese 8. A rendelkezesre allo diszk-terulet lekerdezese 9. Datum lekerdezese 10. ASCII szoveges file-ok tartalmanak megnezese 11. Kijelentkezes a rendszerbol 12. Egyeb parancsok 12.5 Jelszo megvaltoztatasa 13. Tovabbi ismeretek 13.1 VMS parancs-file-ok es futtatasuk 13.2 Szimbolumok definicioja 14. Szovegszerkesztes 15. Sajat programok irasa Pascal, C es Fortran nyelven: forditas, linkeles, futtatas 16. Elektronikus levelezes 17. Nehany TCP/IP protokoll feletti szolgaltatas (TELNET, FTP) VMS alapismeretek A VMS operacios rendszer egy un. multiuser, multitasking operacios rendszer. Minden egyes felhasznalohoz egy sajat diszk-teruletet rendel a rendszer. Az operacios rendszerbe a felhasznaloi nev es a jelszo (username, password) megadasa reven lehet bejutni. Ez a mechanizmus vedelmet jelent az illetektelen felhasznalok ellen, illetve lehetoseg van a szemelyes, bizalmas jellegu adatallomanyok vedelmere. Az egyes felhasznalok csoportokra vannak osztva. A felhasznalok beallithatjak, hogy egyes allomanyaikhoz kik ferhetnek hozza, es mit csinalhatnak az egyes file-jaikkal (olvashatjak-e, irhatjak-e, torolhetik-e, futtathatjak-e). Egy allomany tulajdonjoga, illetve elerhetosege szempontjabol a felhasznalok felosztasa a kovetkezo. Letezik az owner (az a felhasznalo, akie az adott file), a group (a tulajdonossal egy csoportban levo felhasznalok halmaza), a world (az osszes felhasznalo halmaza) es a system (a rendszer-menedzser, illetve maga az operacios rendszer). Peldaul az OKTATOK csoport allomanyaihoz a HALLGATOK csoport tagjai - a vedelmi kodok megfelelo beallitasa eseten - egyaltalan nem ferhetnek hozza. 1. File-ok specifikacioja ~~~~~~~~~~~~~~~~~~~~~~~~~ Az operacios rendszer a diszket a DOS-hoz, illetve a UNIX-hoz hasonloan hierarchikus konyvtarstrukturaba szervezi. A VMS-ben egy adott gepen egy file teljes specifikacioja a kovetkezokeppen nez ki: logdrive:[rootdir.subdir.subsubdir]filename.ext;v ahol logdrive egy logikai drive nev (logikai diszk), ill. eszkoznev rootdir az adott felhasznalo gyoker konyvtara subdir .... egy adott alkonyvtar-sor elemei subsubdir filename a kerdeses file neve ext a file-nev kiterjesztese. Ez bizonyos konvenciokat kovet. Peldaul a .c kiterjesztes a C nyelvu forrasprogramok allomanyainak szokasos kiterjesztese, a .pas, illetve a .for a Pascal, illetve a Fortran forrasprogramokra utal. Tovabbi konvenciok: .com parancs-file-ok, .obj object modulok, .exe futtathato programok, .olb object modul konyvtarak, .lis lista file-ok (pl. forditasi listak), .txt ASCII szovegfile-ok. v A file verzioszama. A VMS operacios rendszer a file-ok kulonbozo verzioit hozza letre. Egy file modositasanak eredmenyekeppen mindig egy ujabb verzio jon letre, eggyel nagyobb v ertekkel. A VMS alapertelmezesben mindig a legfrissebb file-verzioval dolgozik. Ha ettol el akarunk terni, explicit modon meg kell adnunk a verzioszamot. Fontos, hogy a VMS operacios rendszer a file-ok neveivel, illetoleg az egyes parancsokkal kapcsolatban nem tesz kulonbseget a kis- es nagybetuk kozott (hasonloan a DOS-hoz), mig a Unix operacios rendszer igen. Ha egy VAX gep DECnet halozatba van kotve, akkor a halozaton egy file specifikacioja kiegeszul azzal, hogy a halozat melyik csomopontjan (melyik gepen) talalhato az adott allomany: host::logdrive:[rootdir.subdir.subsubdir]filename.ext;v Itt host annak a halozatba kapcsolt VAX-nak a neve, ahol a megfelelo diszken, a megfelelo konyvtarban a file talalhato. Pelda a file-specifikaciokra: TUBCEC::TUB$EET:[KOVACS.FELADAT]SZAMOL.LIS;12 gep eszkoz directory nev kiterjesztes verzioszam A file-specifikacio host::logdrive:[rootdir.subdir.subsubdir] resze a file hozzaferesi utja. A teljes specifikacio nagy resze altalaban elhagyhato, mivel a bejelentkezes pillanataban a default specifikacio beall arra az eszkozre, ahol az adott felhasznalo gyokerkonyvtara talalhato es aktualis konyvtar a gyokerkonyvtar lesz. Ez a beallitas minden esetben a sys$login logikai nevhez is hozza van rendelve (lasd kesobb), es SET DEFAULT paranccsal at is allithatjuk, peldaul egy alkonyvtarat jelolve ki aktualis konyvtarkent: $ set def [kovacs.feladat] $ type szamol Az elobbi utasitasokkal az aktualis eszkozon a [KOVACS.FELADAT] directory SZAMOL nevu, LIS kiterjesztesu file-jai kozul a legmagasabb verzioszamut iratjuk ki. A file-nevek specifikaciojaban elofordulhat a * karakter, ennek jelenteseit lasd a DIRECTORY parancsnal. Mint ebbol a peldabol is latszik, a VMS nem tesz kulonbseget a kis es nagy betuk kozott, valamint egyes VMS parancsok egeszen addig rovidithetok, amig egyertelmuseguk megmarad. (Lasd set default helyett set def). A set default es a pascal parancsokat kesobb ismertetjuk. Ha a set def paranccsal ugy elallitottuk az aktualis konyvtarat, hogy "nem talalunk vissza" a bejelentkezeskor ervenyes konyvtarunkra, adjuk ki a set def sys$login parancsot! Mint utaltunk ra, a sys$login szimbolum az egyes felhasznalok belepeskor ervenyes directory specifikaciojaval ekvivalens, igy biztos, hogy a gyokerkonyvtarunkba jutunk. Megjegyezzuk, hogy az elobbi peldaban a sor elejen allo $ jel a VMS operacios rendszer promptjat jelkepezi. 2. Help a lehetseges parancsokrol ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ help A HELP parancs ismerteti a VMS rendszer DCL (DIGITAL Command Language) parancsait, illetve a parancsokban elofordulo szintaktikai elemeket. Ha a Topic? kerdesre az Additional information available szoveg alatt megjeleno barmely kulcsszot beirjuk, tovabbi ismertetest kapunk az adott temarol. A kulcsszavak rovidithetok. ? beirasara az elozo szovegreszt ismetli meg. Kilepni a RETURN billentyu kello szamu megnyomasaval lehet. Fontosabb temak: ASSIGN CC CONTINUE COPY CREATE DEASSIGN DELETE DIFFERENCE DIRECTORY DUMP EDIT FORTRAN GOTO HELP Hints LINK LOGOUT MAIL PASCAL PHONE PRINT PURGE RENAME RUN SEARCH SET SHOW Specify SUBMIT TYPE 3. Directory-k ~~~~~~~~~~~~~~ A directoryk specialis, .DIR kiterjesztesu file-ok, amelyek egyeb file-ok adatait tartalmazzak. A directory-k aldirectory-kat tartalmazhatnak, kulonbozo feladatokhoz tartozo file-ok elkulonitesere. Directory keszitese $ create /dir [.dirname] (DOS-ban: md dirname) Az aktualis directory-ban egy dirname nevu al-directory-t keszit. Az alkonyvtarak egy dirname.dir nevu file-kent lat- szanak az aktualis konyvtarban. Directory valtas $ set default [.subdir] (DOS-ban: cd subdir) Az aktualis konyvtar subdir nevu alkonyvtarara allitjuk at a aktualis directory-t. (Relativ specifikacio) $ set default [root.subdir] (DOS-ban: cd \subdir) A directory faban abszolut modon irjuk elo, hogy a default directory melyik konyvtarra legyen allitva $ set default [-] (DOS-ban: cd ..) Visszalepes a directory faban a root iranyaban. Fontos, hogy ha mar elertuk az account-unkhoz rendelt root-ot, akkor ne adjuk ki ezt parancsot, mert kulonben olyan konyvtarba juthatunk, amelynek kezelese szamunkra nem lehetseges. $ set default sys$login (DOS-ban nincs ilyen) A bejelntkezeskor ervenyes konyvtarba (gyokerkonyvtar) valt. Peldaul ha eredetileg a TUB$EET:[KOVACS] directory-ban voltunk, amelyben volt egy A.B nevu file, akkor $ CREATE/DIR [KOVACS.FELADAT] hatasara megjelenik a [KOVACS] direc- tory-ban egy FELADAT.DIR nevu file. Ezutan a $ SET DEFAULT [.FELADAT] parancs hatasara a default directory [KOVACS.FELADAT] lesz. Ha most itt kiadjuk a $ COPY [-]A.B * parancsot, akkor itt keletkezik egy szinten A.B nevu masolat. [-] jelentese "az eggyel magasabb directory", azaz [KOVACS], a * jelentese ebben a kontextusban: "ugyanaz". Default directory lekerdezese $ show default (DOS-ban: cd) A fenti peldanal maradva a kepernyon a TUB$EET:[KOVACS.FELADAT] hozzaferesi utat irja ki a VMS. Directory tartalmanak megnezese $ dir mask (DOS-ban: dir mask) A default directory mask-ra illeszkedo file-jait listazza ki a VMS. Peldaul: $ DIR A default directory osszes file-janak nevet kilistazza $ DIR *.PAS Az osszes .PAS kiterjesztesu file nevet kilistazza $ DIR FE*BO Az osszes FE kezdetu, BO vegu file nevet kilistazza A fenti elso peldabol latszik, hogy a mask elhagyasa olyan, mintha a *.*;*-ot adtuk volna meg. A dir parancsnak sok un. kapcsoloja (VMS terminologiaval 'qualifier'-e) van. Ezek kozul nehany fontosabbra mutatunk be peldat: $ DIR /SINCE=YESTERDAY A default directory frissen keletkezett file-jait listazza $ DIR /SIZE A file-ok neve mellett azok blokkban szamolt meretet is megjeleniti. 1 blokk 512 byte meretu. $ DIR /OWNER Minden file-nev mellett megjelenik a file-t tulajdonosanak user-neve. $ DIR /DATE A file-okat keletkezesi datumukkal egyutt listazza. $ DIR /SECURITY A file-okat a hozzaferesi jogosultsagot jelzo informacioval (protection code) egyutt listazza. A kodok jelentese: R olvasasi jog, O: tulajdonos W irasi jog, S: system E futtatasi jog, G: csoport D torlesi jog. W: world (mindenki) Egyszerre tobb kapcsolot is megadhatunk; ekkor ezek logikai ES kapcsolatat kepezve kapjuk meg a file-ok listajat. Pl. a dir/siz/dat parancs hatasara a file-okat a meret- es datuminformacioval egyutt listazza a VMS. 4. File masolasa ~~~~~~~~~~~~~~~~ $ copy source destination (DOS-ban: copy source destination) Ez a parancs a source specifikacioval megadott file-t a destination specifikacio szerinti file-ba masolja. A file specifikacio altalaban csak filenam.ext alaku. A VMS alapertelmezesben mindig a legfrissebb file-verzioval dol- gozik. Ha ettol el akarunk terni, explicit modon meg kell adnunk a verzioszamot. Peldaul: $ COPY A.B CCC.DDD Az A.B file legmagasabb verziojat atmasolja a CCC.DDD file-ba. Ennek verzioszama a letezo legnagyobbnal eggyel magasabb lesz. $COPY *.PAS *.BAK Minden .PAS kiterjesztesu file-rol egy .BAK kiterjesztesu masolatot keszit. $COPY *.PAS SCHKOL"username password":: Minden .PAS kiterjesztesu file-t a halo- zaton keresztul az SCHKOL nevu gepen levo username felhasznalo gyokerkonyv- taraba masoljunk. (Az SCHKOL gepen a VMS a username es a password alapjan "kita- lalja" a username felhasznalo gyoker- konyvtaranak a helyet.) A password infor- macio titkos, megadasaval csinjan ban- junk! 5. File-ok atnevezese ~~~~~~~~~~~~~~~~~~~~~ $ rename oldname newname (DOS-ban: rename old new) Ez a parancs lenyegeben ugy mukodik, mint a DOS-beli megfe- leloje: az oldname nevu file-t newname-me nevezi at. oldname elott VMS-PATH is allhat. Peldaul: $ REN A.B A.FOR Az A.B file nevet A.FOR-ra valtoztatja vagy $ RENAM A.B .FOR (a parancsok a filenevek elhagyott re- szet az elozo file-nevbol veszik at) $ RENAME A.FOR [.FORTRAN] Az aktualis konyvtar A.FOR allomanyat a [.FORTRAN] alkonyvtarba helyezi at, Egy allomany athelyezese a REN parancs- csal csak akkor lehetseges, ha a cel- konyvtar fizikailag azonos diszken van, mint az eredeti allomany. $ RENAM A.B;-1 A.SAVE Az A.B file utolso elotti verziojat atnevezi A.SAVE-re. 6. File-ok torlese ~~~~~~~~~~~~~~~~~~ $ del mask (DOS-ban: del mask) A DOS del parancsahoz hasonloan mukodik. A mask parameter megadasa kotelezo. A mask egy file-specifikacio kell legyen. A filename.ext;v reszben un. joker-karakter (wildcard characters) is megadhato. Ez a *, ami tetszoleges resz- sztringet helyettesithet. Tartozkodjunk a del *.*;* parancs kiadasatol: ez mindent kitorol az aktiv konyvtarbol. A verzioszam megadasa kotelezo. Ha csak a verzioszamot bevezeto ;-t adjuk meg, akkor az utolso verziora vonatkozik a parancs. A del parancsnal celszeru egyes kapcsolok (qualifiers) hasznalata. Ilyen peldaul a /confirm del mask /confirm hatasara az osszes, a mask-ra illeszkedo file torlesere vo- natkozolag megerositest ker az operacios rendszer. Peldak: $ DELETE ABC.PAS;3 A megadott file-t torli. A verzioszam megadasa kotelezo! $ DEL *.FOR;* Minden .FOR kiterjesztesu file-t torol Celszeru, ha a konnyen reprodukalhato allomanyaink kozul a szuksegteleneket rendszeresen toroljuk. Igy peldaul egy Pascal programozasi feladat befejezese utan javasoljuk a Pascal forrasallo- manyokbol generalt .obj es .exe kiterjesztesu file-ok torleset, ugyan is ezek egy programforditasi es szerkesztesi paranccsal (lasd kesobb) gyorsan ujra generalhatok. 7. Regi file-verziok torlese ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ purge mask A mask-ra illeszkedo file-ok regi verzioit torli. A mask elhagyasa a *.* megadasaval ekvivalens. Rendszeresen hasznaljuk ezt a parancsot, mert a rendelkezesunkre bocsaj- tott diszk terulet hamar elfogyhat. Peldaul: $ PURGE *.PAS Az osszes .PAS kiterjesztesu file-t torli, a legutolso verzio kivetelevel. A diszkterulet elfogyasakor, illetve munka befejezesekor hasznaljuk. $ PURGE A default directory osszes file-jara vonatkozik 8. A rendelkezesre allo diszk-terulet lekerdezese ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ show quota Az adott felhasznalo szamara allokalt diszk-teruletrol ad felvilagositast blokk-egysegben. 1 blokk = 512 byte. Igy tudhato meg, hogy a rendelkezesre allo diszk-teruletbol hany blokk szabad. Ha elfogyott a diszk-teruletunk, a delete es purge parancsokkal "takarithatunk". 9. Datum lekerdezese ~~~~~~~~~~~~~~~~~~~~ $ show time A szamitogep oraja altal jelzett datumot es idot irja ki a kepernyore. 10. ASCII szoveges file-ok tartalmanak megnezese ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ type filespec (DOS-ban: type filespec) A DOS type parancsahoz hasonloan mukodik. Egy hasznos kapcsolo a /page: type filespec /page hatasara a filespec altal megadott file-t kepernyonkent listazza a VMS. A listazas egyebkent CTRL-S-sel felfuggesztheto, illetve CTRL-Q-val folytathato. Ez altalaban is igaz minden output muveletre (lasd software-handshake). A VMS-ben a CTRL-C-vel, illetve a CTRL-Y-nal lohetunk le minden futo programot. Peldaul: $ TYPE ELSO.PAS Az ELSO.PAS nevu file-t irja ki a kepernyore 11. Kijelentkezes a rendszerbol ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $ logout 12. Egyeb parancsok: ~~~~~~~~~~~~~~~~~~~~ Atjelentkezes masik VAX-ra $ set host newhost A DECnet halozatban, az aktualis host gep altal ismert mas host-ra torteno bejelentkezes. Peldaul a programozok DTALK neven ismert szamitogepere - az azon a gepen ervenyes temaszammal - igy lehet bejelnekezni: $ set host dtalk Username: ottani temaszam Password: az ottani temaszam password-je A halozat megtekintese: $ show network Az itt felsorolasra kerulo "neveket" latja az aktualis host. Ezek kozul a P-vel kezdodo nevek a kari halozatba kotott PC-kre utalnak. A nev nelkuli halozati csomopokat is "latja" a VAX, csak a nevuket "nem tudja". Az interaktiv felhasznalok listajanak lekerese $ show users E paranccsal megnezhetjuk, hogy mely felhasznalok vannak beje- lentkezve, es hogy mely terminalokon dolgoznak. A /full kapcsolo hasznalataval a felhasznalok neve es terminal azonositoja mellett tovabbi adatokhoz is hozzaferhetunk az egyes felhasznalokra vonatkozolag. Sztring keresese file-okban $ search mask string (DOS-ban esetleg: grep string mask) A mask altal megadott file-okban string-et keresi. Jelszo (password) atallitasa $ set password Ezzel allithatja at az elore definialt password-jet az On altal adando uj jelszora. Ezzel biztosithatja, hogy szemelyes adatallomanyaihoz illetektelen modon ne lehessen hozzaferni. A fenti parancs kiadasa utan a New password kerdesre adja meg az uj jelszot, ami 6 karakternel hosszabb kell legyen, majd a Verification kerdesre adott valasszal erositse meg - az uj jelszo masodszori begepelesevel - a valtoztatast. Az uj jelszot csak akkor fogadja el a szamitogep, ha a Verification-re adott valasza megegyezik a New password-kent megadott jelszoval. Tul rovid, illetve trivialis, egyszeruen kitalalhato jelszot, valamint On altal korabban mar hasznalt jelszot nem fogad el a VMS operacios rendszer. 13. Tovabbi ismeretek ~~~~~~~~~~~~~~~~~~~~~ VMS parancs-file-ok es futtatasuk A VMS parancsfile-ok olyan ASCII allomanyok, melyeknek sorai a $ karakterrel kezdodnek, es ezt kovetoen egy vegrehajthato VMS parancsot tartalmaznak. Tipikusan arra szolgalnak, hogy tobb, sokszor vegrehajtando parancsot egy egysegbe foglalhassunk, hogy egyutt hajthassuk vegre azokat. Szokasos kiterjesztesuk a .COM. (Hasonlitanak a DOS .BAT kiterjesztesu file-jaihoz) Egy ilyen file futtatasa a kovetkezokeppen lehetseges: $ @FUTTAT A FUTTAT.COM parancsfile-t lefuttatja Tipikus feladat: Keszitsunk olyan parancs-file-t, amely Pascal programok forditasara es linkelesere alkalmas. Legyen ennek a file-nak a neve PL.COM, es rendelkezzen egy parameterrel, amely a forditando file nevet tartalmazza. A parancsok egyes parameterei konstans ertekek is lehetnek, es a parancs file parametereit is atadhatjuk nekik. A peldafeladatunk megoldasara szolgalo parancs-file tartalma a kovetkezo lehet: $ PAS 'P1' $ LINK 'P1' A fenti sorokat a PL.COM file tartalmazza. A VMS-nek kiadott @PL proba parancs hatasara a proba.pas file-t leforditjuk a PASCAL forditoval, es az igy keletkezett proba.obj file-hoz hozzaszerkesztjuk a futasi ideju konyvtarat a link program segitsegevel. Ha proba.pas file a PROGRAM kulcsszoval kezdodott, akkor a linker eloallitja a proba.exe futtathato programot. Szimbolumok definicioja $ PLI:==PASCAL/LIS Definialja a PLI szimbolumot, amelynek erteke a definicokent megadott sztring lesz. A fenti szimbolumdefinicio utan PL olyan, mintha beepitett VMS parancs lenne. Ekkor tehat: $ PLI ABS Leforditja az ABS.PAS file-t, es listat keszit az ABS.LIS file-ba $ PLI B Leforditja a B.PAS file-t es forditasi listat keszit a B.LIS file-ban. Egy masik pelda: $ LLL:==LINK A,B,ABS Definialja az LLL szimbolumot $ LLL Osszeszerkeszti a megadott file-okat Az egyes forditoprogramokat es a linkert kesobb ismertetjuk. A definialt szimbolumok erteke meg is nezheto a show symbol szimbolum paranccsal. Peldaul: $ show symbol pli hatasara a kovetkezo irodik ki a keper- nyore: PLI=="PASCAL/LIS" $ show symbol * hatasara az osszes, az adott felhaszn- nalo szamara definialt szimbolum felso- rolasra kerul. Erdemes tanulmanyozni. Szimbolumok es egesz szamokkal vegezheto muveletek Az eredm=2*8 parancs definialja az eredm szimbolumot. A definicio hatasara a VMS elvegzi a 2*8 egesz szorzast, es annak eredmenyet rendelei az eredm szimbolumhoz. Ezutan a show symb eredm paranccsal megnezhetjuk eredm erteket. Ez a kovetkezo lesz: eredm = 16 Hex = 00000010 Octal = 00000000020 azaz a szamitasi eredmeny decimalis, hexadecimalis es oktalis formaban lett az eredm szimbolumhoz hozzarendelve. A negy alap aritmetikai muveletet alkalmazhatjuk ilyen forman egesz konstansokra. 14. Szovegszerkesztes ~~~~~~~~~~~~~~~~~~~~~ $ edit file.ext A file.ext ASCII allomany szerkesztesere behivja a szovegszerkeszto programot. A szovegszerkeszto program sajat HELP-ekkel rendelkezik. A * prompt-jel megjelenese utan HELP beirasara a szovegszerkeszto kezeleset ismerteti. C (change) parancsra atmegy kepernyo-editor uzemmodba. Itt a HELP funkcio a jobboldali szurke gombok kozul a '8' folottivel kerheto. Ha IBM PC-rol jelentkeztunk be, a billentyuzet-kiosztas elterhet az editor altal feltetelezettol. Pelda: $ edit elso.pas Behivja a szovegszerkeszto programot a megadott file letrehozasara vagy javita- sara. Az uj valtozat azonos neven, eggyel magasabb verzioszammal jon letre. * c teljes kepernyos editor uzemmodba valtunk, ahonnan CTRL-Z-re visszaterhetunk a *-hoz PROGRAM ELSO(INPUT, OUTPUT); Beirjuk a programunkat. Hasznalhatjuk a 4 BEGIN kurzorvezerlot, es a megszokott szerkeszto WRITELN('Hello!'); billentyuket (pl. a backspace gombot) END. [EOB] Szovegbuffer vege CTRL-Z A *-hoz terunk vissza *exit elmenti az elso.pas file-t es kilep, vagy *quit kilep mentes nelkul. Fontos parancs a *-nal: *help 15. Sajat programok irasa Pascal, C es Fortran nyelven: forditas, linkeles, futtatas Programjainkat a VMS szovegszerkeszto programjaval gepelhetjuk be (vagy a halozatba kapcsolt mas gepekrol a VAX-ra masolhatjuk). A forras allomanyok elkeszulte utan azokat le kell forditani a megfelelo fordito programmal, az igy keletkezo targykodu allomanyokbol futtathato prog- ramot kell szerkesztenunk. Az igy elkeszult programot a VMS operacios rendszerbol futtathatjuk. Pascal fordito $ pascal file A file.pas file-bol file.obj un. object modul keszul Peldaul: $ PASCAL ABC Az ABC.PAS file-t leforditja, letrehozza az ABC.OBJ targykodu file-t. ABC.PAS tetszoleges szamu procedure-t, illetve function-t tartalmazhat egy PASCAL programbol. A file vagy a PROGRAM kulcs- szoval (foprogram), vagy a MODULE kulcs- szoval (csak szubrutinok) kezdodjon! Fortran fordito $ fortran file A file.for file-bol file.obj un. object modul keszul Peldaul: $ FOR PROG A PROG.FOR nevu file-t leforditja, es letrehozza a PROG.OBJ nevu, targykodu file-t. PROG.FOR tetszoleges szamu FORTRAN szubrutint tartalmazhat egy nagyobb programbol. C fordito $ cc file A file.c file-bol file.obj un. object modul keszul Peldaul: $ CC MEGOLD A MEGOLD.C file-t leforditja, letrehozza a MEGOLD.OBJ nevu, targykodu file-t. MEGOLD.C tetszoleges szamu fuggvenyt tartalmazhat egy C programbol. Futtathato program szerkesztese $ link file A file.obj file-bol file.exe futtathato program keszul. Ha csak egy object modult linekelunk, akkor abban a modulban foprogramnak (Fortran MAIN, Pascal PROGRAM, C main) is kell lenni. Linkelhetunk tobb modult is, ekkor a link utan vesszo- vel elvalasztva kell felsorulnunk az object modulokat. Az .exe program nevet az elso object modul alapjan adja a linker, a foprogram barhol lehet. C programok linkelesekor a modul-listara fel kell venni a sys$library:vaxcrtl.olb/lib-et is. Peldaul: $ LINK ABC,PROG A fenti targykodu reszekbol egy ABC.EXE nevu, futtathato programot szerkeszt. $ LINK ABC,MEGOLD,SYS$LIBRARY:VAXCRTL.OLB/LIB Ha C-bol forditott targykodu modult is beepitunk a programba, akkor a VAX C futasi ideju konyvtarat (VAXCRTL.OLB) is hozza kell szerkeszteni a programhoz. Fizikai file-hozzarendeles FORTRAN es PASCAL programok szamara $ assign physdev logname vagy $ define logname physdev A physdev fizikailag letezo eszkozt (diszket, terminalt, file-t) a logname logikai nevhez rendeli. Leggyakoribb hasznalata az, hogy fizikai file-okat egy-egy logikai nevhez rendeljuk ezzel a paranccsal. Peldaul: $ ASS QWER.ASD FOR008 A FOR008 logikai nevet (a 8-as FORTRAN periferiat) a QWER.ASD file-hoz rendeli Az utasitas kiadasa nelkul a FOR008.DAT file az alapertelmezes. A tobbi logikai szam kiosztasa hasonlo, kiveve: az 5-os a klaviatura, a 6-os a kepernyo. $ ASS QWER.ASD BEFILE PASCAL-ban a VAR-kent definialt FILE-ok var befile: file of real; azonositoi logikai nevek. Fizikai allo- : manyokat a VMS ASSIGN utasitasaval ren- reset(befile); delhetunk hozzajuk. Enelkul minden : egyes PASCAL file-hoz a FILE2.DAT fizi- get(befile); kai allomany rendelodik. A standard INPUT es OUTPUT allomanyok alapertel- mezes szerint a terminalhoz vannak rendelve Fortran es Pascal programok eseten az assign parancsot mindig adjuk ki a program futtatasa elott! C nyelven irt programok eseteben nincs szukseg allomany-hozza- rendelesre, mert ezt maga a C szabvany rogziti (lasd az open(), illetve a fopen() fuggvenyeket). Peldaul folyam-jellegu C filekezeles eseten a fopen nevu szabvanyos C fuggvennyel (az stdio.h szabvanyos fejlecfile-ban van deklaralva) nyithatjunk meg egy adott nevu fizikai file-t irasra, vagy olvasasra. Programfuttatas $ run exefile Az exefile.exe programot futtatja le a VMS rendszerben. Pelda: $ RUN ABC Lefuttatja az ABC.EXE programot File-hozzarendeles megszuntetese $ DEASSIGN FOR008 Az elozo hozzarendelest megszunteti. Programok lelovese: CTRL-Y A CTRL es Y gombok egyszerre torteno lenyomasa az eppen futo (peldaul vegtelen ciklusba keveredett) programot lelovi. Lelott programok ujrainditasa $ CONTINUE A CTRL-Y-nal lelott programot tovabbinditja. 16. Elektronikus levelezes ~~~~~~~~~~~~~~~~~~~~~~~~~~ Az elektronikus levelezes (e-mail) a VAX-rol a VMS operacios rendszer MAIL nevu levelezo rendszerevel lehetseges. $ mail MAIL> Itt a VMS operacios rendszer levelezo programjanak adhatunk parancsokat. A legfontosabb parancs: MAIL> HELP A mail program parancsairol ad help-et. Ugyanolyan stilusban mukodik, mint az operacios rendszer help-je MAIL> SEND To: cimzett Subject: egysoros informacio a level targyarol Type your message, press CTRL-Z when finished Most irjuk be az uzenetet, aztan nyomjuk meg a a CTRL-Z-t Ezzel a mail-paranccsal uzenetet kuldhetunk a halozat barmely felhasznalojanak. A helyi gepen levo cimzettek eseten eseten eleg a To: kerdesre csak az illeto felhasznaloi nevet megadni, egyebkent pedig a cimzett teljes un. Internet-cimet kell megadnunk az alabbi formaban: To: mx%"internet-cim" Az Internet-cim alakja: user@host.subdomain.domain Peldaul a TUBCEC gepen dolgozo felhasznalok elektronikus levelcime a nagyvilagbol nezve username@dcsc.bme.hu alaku. Megj: Az Internet-beli cimekre csak akkor lehet levelet kuldeni, ha a gepen installaltak az erre szolgalo szoftvert. A fenti cimzesi modszer csak az MX nevu programcsomag hasznalataval mukodik. A SEND parancs hasznalatakor lehetosegunk van arra, hogy egy elore elkeszitett file-t kuldjunk el. Ennek modja: SEND file ahol file az elkuldendo file neve (nev + kiterjesztes). A SEND/EDIT parancs kiadasakor a VMS szovegszerkesztojet aktivizalva irhatjuk meg az uzenetunket. A szoveg beirasat kovetoen a CTRL-Z-t leutve majd a * promptnal az exit parancsot kiadva a begepelt uzenetunk elkuldesre kerul. MAIL> REPLY Egy level olvasasakor kiadva ezt a parancsot, azonnal valaszolhatunk a feladonak. A To: kerdesre adando valaszkent behleyettesiti a MAIL a felado cimet, a Subject: kerdesre adando valaszkent pedig a RE: eredeti subjec sztringet helyettesiti be. Hasznalata egyebkent ugyanolyan, mint a SEND parancse. MAIL> EXTRACT file Ez a parancs az aktualisan olvasott levelet egy a file.txt file-ba menti ki. Ha le akarjuk hagyni a level fejlec- reszet (From: To: Subject: Cc:), akkor a fenti paran- csot az EXTRACT /NOHEAD file formaban adjuk ki. MAIL> dir Az aktualis level-dosszie (un. folder) tartalmat listazza ki. Egy levelet az azonositoszamanak megadasaval valaszt- hatunk ki olvasasra. MAIL> delete Az eppen olvasott levelet torli. Torlesre megadhatjuk levelek listajat (sorszamok vesszovel elvalasztva), illet- ve egy sorszam intervallumot (ket sorszam kotojellel elva- lasztva). A delete parancs tenylegesen meg nem torli a le- veleket, hanem csak az aktualis dossziebol athelyezi azo- kat az un. "szemetkosarba" (wastebasket-be). A leveleket a mail csak akkor torli ki fizikailag, ha az exit paranccsal lepunk ki belole. MAIL> set folder foldername Egy level-dosszie kivalasztasa. Alapertelmezesben 3 dosszie van: mail - a regi levelek dosszieja, newmail - az uj levelek dosszieja, wastebasket - a torolt levelek dosszieja. Ha uj levelunk van (erre bejelentkezeskor mindg figyelmez- tet a VMS), akkor a mail program inditasakor mindig a newmail lesz az aktualis dosszie, egyebkent pedig a mail folder lesz kijelolve. Levelek torlese tenylegesen azt je- lenti, hogy a wastebasket folderba helyezi at azokat a levelezo rendszer. Ha megsem kivantunk egy levelet torol- ni, akkor a move paranccsal (lasd a helpet) "vadaszhatjuk vissza". MAIL> quit Kilepes a mail programbol ugy, hogy a wastebasket folder tartalma megmarad. MAIL> exit Kilepes a mail programbol ugy, hogy a wastebasket folder tartalmat fizikailag torli a rendszer. He lehet, ezt hasz- naljuk, mert a csak logikailag torolt leveleink is foglal- jak a diszkteruletunket. Celszeru tema szerint kulon folderekben tartani fontosabb leveleineket! 17. Nehany TCP/IP protokoll feletti szolgaltatas (TELNET, FTP) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Alkalmas kiegeszito program segitsegevel lehetoseg van arra, hogy az egyetemi szamitogephalozaton, illetve az orszagos es vilaghalozaton (Internet-en) keresztul szamtalan, a TCP/IP protokollt tamogato rendszert futtato szamitogepre csatlakozzunk. Ehhez eloszor is tudnunk kell a kerdeses szamitogep azonosito nevet (ami hasonlo az elektronikus levelezes kapcsan ismertetett internet-cimhez), de legrosszabb esetben tudnunk kell a gep un. ip-szamat, masreszt ervenyes felhasznaloi nevvel es jelszoval kell rendelkeznunk a hasznalni kivant gepen. A bejelentkezest a telnet program segitsegevel hajthatjuk vegre: $ telnet Aktivizaljuk a telnet programot TELNET> help Helpet kerunk a lehetseges parancsokrol TELNET>conn sun2.eet.bme.hu Kapcsolodas egy tavoli gepre Trying...152.66.72.2 Connected to SUN2.EET.BME.HU. Escape character is '^]'. SunOS UNIX (sun2) login: username Ottani felhasznaloi azonosito Password: Ottani jelszo Last login: Thu Aug 26 13:25:11 on console SunOS Release 4.1.1 (GENERIC) #1: Thu Oct 11 10:25:14 PDT 1990 SunOS Release 4.1.1 (GENERIC) #1: Thu Oct 11 10:25:14 PDT 1990 . . Hasznaljuk a tavoli gepet - egy SUN-t. . sun2::> logout Kijelentkezunk a tavoli geprol. sun2: username logged out at Fri Aug 27 17:03:57 MET DST 1993 Remote connection closed A telnet lezarja a kapcsolatot. TELNET> quit Kilepunk a telnet programbol Gyorsabb a bejelntkezes, ha a telnet programnak parameterkent megadjuk a tavoli gep azonositojat: $ telnet sun2.eet.bme.hu Ha nem interaktiv gephasznalat miatt szeretnenk egy tavoli gepre belepni, hanem csak file-okat szeretnenk masolni, akkor az ftp programot hasznalhatjuk. Az ftp programot az $ ftp paranccsal aktivizalhatjuk. Egy pelda: $ ftp Aktivizaljuk az ftp programot FTP>connect sun2.eet.bme.hu Egy tavoli gepre csatlakozunk sun2 FTP server (SunOS 4.1) ready. Connected to sun2.eet.bme.hu. Az ftp felvette a kapcsolatot. Name (sun2.eet.bme.hu\:poppe): kovacs Be kell jelentkeznunk. Az ftp 331 Password required for kovacs. a helyi gep username-jet kinalja Password: fel, de nekunk a tavoli gepen ervenyes temaszamot kell megadni. 230 User kovacs logged in. Sikeres volt a bejelntkezes. FTP>dir A VMS dir Unix megfelelojet, az 200 PORT command successful. ls-t hajtja vegre a tavoli gepen. 150 ASCII data connection for /bin/ls (152.66.129.1,1198) (0 bytes). .login A tavoli gep login konyvtaranak .logout listajat kapjuk meg. digitrain electros solotex termanal tex 226 ASCII Transfer complete. 45 bytes received in 00:00:00.04 seconds FTP>set def "solotex" A tavoli gepen a solotex konyv- 250 CWD command successful. tarba valtunk be. A parancsokat helyi gep szintaktikajanak (VMS) FTP>dir megfeleloen adjuk ki, de az argu- 200 PORT command successful. mentumot a tavoli gep operacios rendszere (itt Unix) szerinti szintaktikaval, idezojelek kozt kell megadnunk. 150 ASCII data connection for /bin/ls (152.66.129.1,1199) (0 bytes). gener10.tex Lista a tavoli gep solotex konyv- gener7.tex tararol. gener8.tex gener9.tex 226 ASCII Transfer complete.41 bytes received in 00:00:00.04 seconds FTP>exit Kilepunk az ftp-bol, a kapcsolat automatikusan lebomlik. File masolasa a tavoli geprol FTP> get "remotefile" A remotefile nevu allomanyt lema- solja a tavoli geprol. A VAX-on ugyanazzal a nevvel hozza letre az az allomanyt. File masolasa a tavoli gepre FTP> put "localfile" A localfile helyi allomanyt a VAX- rol a tavoli gepre masolja. A ta- voli gepen a VMS-es nevvel jon letre az uj allomany. FTP> help A VMS-ben szokasos stilusu helpet ad az ftp parancsairol.