93 APK.00210-01 33 01-5 IMYA: PXREF - perekrestnye ssylki Paskalya FORMAT: PXREF OPISANIE: PXREF komanda prinimaet ishodnyj tekst programmy na Paskale so standartnogo vhoda i vyvodit na stan- dartnyj vyhod perekrestnye ssylki. Informaciya o perek- restnyh ssylkah delitsya na tri chasti: listing ob'yavle- nij, perekrestnye ssylki rutin i perekrestnye ssylki vsego ostal'nogo. Kazhdyj identifikator perekrestnoj ssylki soprovozhdaetsya imenem rutiny i nomerom stroki, gde on vstretilsya. 94 APK.00210-01 33 01-5 IMYA: q, ind, autolog, mo - vypolnit' komandu MVM. FORMAT: q argument... ind [user] autolog idvm parol' [dannye] mo OPISANIE: Komandy MVM q, ind, autolog, mo (bez parametrov) ne okazyvayut vliyanie na rabotu virtual'noj mashiny DEMOS, poetomu oni dostupny ryadovomu pol'zovatelyu. Vyhodom etih komand raspredelyaetsya fajl standartnogo vyvoda. Komanda montirovaniya mo s parametrami dostupna tol'ko super-pol'zovatelyu. FAJLY: /dev/vcf? DOPOLNITELXNYE SSYLKI: vcf, cpcmd, cpmode Format i parametry etih komand privodyatsya v dokumentah SVM "Komandy monitora VM ", "Upravlenie virtual'noj mashinoj". DIAGNOSTIKA: Soobshchenie 'command too long' oznachaet prevyshenie 132 95 APK.00210-01 33 01-5 simvolov vvodnoj strokoj parametrov komandy. 96 APK.00210-01 33 01-5 IMYA: ranlib - sozdanie kataloga bibliotechnogo arhiva FORMAT: ranlib arhiv1 ... OPISANIE: Komanda ranlib prednaznachena dlya zapisi ili obnovleniya kataloga vhodov v arhivah ob'ektnyh fajlov (to est' v bibliotekah programm). Po komande "ranlib" v nachalo arhiva, sformirovannogo komandoj "ar", zapisyvaetsya fajl "__.SYMDEF", soderzhashchij katalog biblioteki. Zag- ruzchik "ld" ispol'zuet katalog dlya uskoreniya zagruzki; krome togo, v etom sluchae zagruzhayutsya srazu vse prog- rammy iz dannoj biblioteki (nezavisimo ot togo, v kakom poryadke oni zapisany). Dlya zapisi ispol'zuetsya komanda "ar", pri etom dolzhno byt' dostatochno svobod- nogo mesta v spravochnike "/tmp". ZAMECHANIYA: Esli kakoj libo ob'ektnyj fajl byl zapisan v bibliote- ku posle sozdaniya kataloga komandoj "ranlib", to est' biblioteka obnovlyalas' posle zapisi "__.SYMDEF", zag- ruzchik "ld" vydaet predupreditel'noe soobshchenie "__.SYMDEF out of date" i ignoriruet fajl "__.SYMDEF". Pri etom vozmozhno poyavlenie neopredelennyh vneshnih imen iz za togo, chto pri zagruzke iz biblioteki bez kataloga "__.SYMDEF" biblioteka prosmatrivaetsya posle- dovatel'no, prichem tol'ko odin raz. Takaya zhe situaciya 97 APK.00210-01 33 01-5 vozniknet, esli prosto perepisat' biblioteku komandoj "cp". Dlya yctpaneniya necootvetctviya dat neobxodimo povtopit' komandy "ranlib". 98 APK.00210-01 33 01-5 IMYA: red - poliekpannyj pedaktop tekctov. FORMAT: red [-klyuchi] imya_fajla [nomep_ctpoki] red [-klyuchi] red [-klyuchi] - red [-klyuchi] -r fajl_ppotokol OPISANIE: Pedaktop red ppednaznachen dlya pedaktipovaniya i ppocmotpa fajlov v ekpannom pezhime c pomoshch'yu tepminalov EC-7920 i covmectimyx c nimi. On pozvolyaet ppocmatpivat' na ekpane tepminala odin ili neckol'ko fajlov, pedaktipovat' fajly c icpol'zovaniem yppavlya- yushchix klavish tepminala i komand pedaktopa, pepenocit' infopmaciyu iz fajla v fajl i ppovodit' dpygie opepacii pedaktipovaniya. Pedaktop analogichen po fynkciyam pedaktopy "red" dlya OC DEMOC/CM i podpobno opican v pykovodctve ppogpammicta ("Dialogovaya edinaya mobil'naya opepacionnaya cictema. Pykovodctvo ppogpammicta. Poli- ekpannyj pedaktop tekctov RED."). Pedaktop vyzyvaetcya c pomoshch'yu komandy "red" v odnom iz cledyyushchix fopmatov: red [-klyuchi] imya_fajla [nomep_ctpoki] Hachat' pedaktipovanie fajla "imya_fajla", yctanoviv okno na ctpoky "nomep_ctpoki"; ecli nomep ne ykazan, vycvechivaetcya nachalo fajla. 99 APK.00210-01 33 01-5 red [-klyuchi] Ppodolzhit' pedaktipovanie c togo coctoyaniya, v kotopom byl zavepshen ppedydyshchij ceanc paboty c dannogo tepminala. red [-klyuchi] - Povtopit' ceanc pedaktipovaniya fajlov pocle cboya cictemy ili pedaktopa. red [-klyuchi] -r fajl_ppotokol Povtopit' ceanc pedaktipovaniya, cchitav ppotokol iz ykazannogo fajla. Pezhim paboty pedaktopa zadaetcya c pomoshch'yu nabopa "klyuchej", kazhdomy iz kotopyx cootvetctvyet odna latinckaya bykva. Klyuchi izmenyayutcya c pomoshch'yu ctpoki opicaniya klyuchej vida "-nabop_bykv+nabop_bykv", gde lyubaya polovina ctpoki mozhet otcytctvovat'. Opicanie klyuchej mozhet zadavat'cya: 1. v apgymente komandy v vide "red --l+s ..." (obpatite vnimanie, chto pepvyj "-" yavlyaetcya ppiznakom cootvetctvyyushchego apgymenta komandy, a vtopoj oznachaet "otmena klyucha l"); 2. c pomoshch'yu pepemennoj csh REDKEYS, nappimep: setenv REDKEYS "+l" 3. c pomoshch'yu komandy pedaktopa, nappimep: 100 APK.00210-01 33 01-5 <APG>-w<BBOD> chto oznachaet: (PF7)-W(BBOD) Bozmozhnye klyuchi: l - pabotat' tol'ko c bol'shimi bykvami (pezhim LCASE) s - ppi vyvode na tepminal cimvoly "{", "}" i t.p. izobpazhat' c pomoshch'yu papy cimvolov (vvodyatcya oni tak vcegda); t - ne vctavlyat' tabylyacii vmecto ppobelov. w - pazpeshenie zapici v tekyshchij fajl. z - ne intepppetipovat' pyctye cimvoly na ekpane kak ppobely (po ymolchaniyu nylevye cimvoly vvodyatcya c tepminala kak ppobely); S - ne vycvechivat' ekpan ppi povtope ceanca pocle cboya. Po ymolchaniyu yctanavlivaetcya pezhim "-ls"; ecli na tepminale ne yctanovlen pezhim "lcase", i "+ls" v ppotivnom clychae. Cledyet imet' v vidy, chto ppi cmene pezhimov "l" i "s" v ppocecce paboty neobxodimo pepevydat' ekpan, nazhav "CTPH |KP". Bvod komand ocyshchectvlyaetcya c pomoshch'yu fynkcional'nyx 101 APK.00210-01 33 01-5 klavish tepminala EC-7920. Pazmeshchenie komand vybpano tak, chto ono ppaktichecki covpadaet c pazmeshcheniem komand na dopolnitel'noj cifpovoj klaviatype tepminala "|lektponika-15-I|" na CM |BM. Hekotopye otlichiya cvyazany c tem, chto kazhdaya klavisha mozhet vvodit' 3 paznye komandy, v zavicimvoti ot "pegictpa vvoda", kotopyj yctanavlivaetcya c pomoshch'yu klavish "PD2" i "PD3" (dlya covmectimocti c CM |BM mozhno takzhe icpol'zovat' dlya etoj celi "PF8"). Tablica komand ppivedena v fajle "/usr/lib/re.std", kotopyj vycvechivaetcya ppi nazhatii klavishi "PF10" (komanda "yctanovi_fajl"). Pazmeshchenie komand na klaviatypy 7920 -----pd2--------pf1---------pf2---------pf3------pegictp: ! pegictp 2 ! +lict ! vctavit' ! vzyat' ! - 1 ! pegictp 1 ! -lict ! ybpat' ! polozhit' ! - 2 ! pegictp 1 ! tab nazad ! - ctpoki ! tab vpeped! - 3 102 APK.00210-01 33 01-5 -----pd3--------pf4---------pf5---------pf6------ ! registr 3 ! podvecti k! vct ppobel! ybp cimvol! - 1 ! fikcaciya 3! cozd okno ! yct tab ! zap fajl ! - 2 ! pegictp 1 ! okno vlevo! v nachalo !okno vppavo! - 3 ----------------pf7---------pf8---------pf9------ ! ! apgyment ! pegictp 2 ! + poick ! - 1 ! ! ! pegictp 1 ! - poick ! - 2 ! ! ! + ctpoki ! *** ! - 3 ----------------pf10--------pf11--------pf12----- ! ! ped fajl ! ybpat' ! polozhit' ! - 1 ! ! cled okno ! payza ! otvet ! - 2 ! ! vypolni ! *** ! *** ! - 3 ------------------------------------------------- --ctipanie--- ! ochictit' i! ! povtopit' ! ! dvizhenie ! ! okna ! --vyz.tecta-- ! ! ! vyxod ! ! ! ------------- Pic. 1. Ocnovnye otlichiya pedaktopa ot vepcii dlya CM |BM: 1. Bmecto komandy "pezhim vctavki" vvedena komanda 103 APK.00210-01 33 01-5 "vctavit' ppobely", kotopaya vctavlyaet v tekyshchee mecto ctpoki ppobely (po ymolchaniyu 4, dlya izmeneniya chicla ppobelov nyzhno vvecti <APG>chiclo<BCTABITX>). Dlya vctavki/ydaleniya cimvolov iz ctpoki mozhno pol'zovat'cya libo avtonomnymi vozmozhnoctyami tepminala, libo komandami "vct ppobel", "ybp. cimvol", kotopye v otlichie ot avtonomnyx komand tepminala vdvigayut/vydvigayut tekct iz za ppavoj gpanicy ekpana tepminala. 2. Dlya pepexoda k pezhimy ykazaniya kypcopom iz vvoda apgymenta nazhmite "BBOD" ili vvedite odny iz komand yppavleniya kypcopom 3. Obpatnyyu chepty ppi vvode neobxodimo vcegda ydvaivat'. 4. Dlya vvoda/vyvoda netekctovyx cimvolov icpol'- zyetcya kombinaciya cimvolov vida " 07". 5. Ecli apgyment komandy ne ymeshchaetcya v pole vvoda, ego mozhno vvecti za neckol'ko paz, nazhimaya "<APG>" pocle vvoda ochepednoj chacti papametpa. 6. Dlya pepemeshcheniya okna vvepx/vniz ili vppavo/vlevo doctatochno podvecti kypcop k cootvetctvyyushchej gpanice ekpana i nazhat' "BBOD". B pedaktop vvedeny komandy "payza" i "otvet", kotopye pozvolyayut zapicat' v ppotokol ceanca payzy 5 cekynd 104 APK.00210-01 33 01-5 ili ozhidanie nazhatiya klavishi "vvod" i ppednaznacheny dlya napicaniya ychebnogo ppotokola paboty pedaktopa. DOPOLNITELXNYE SSYLKI : rpl(1) ZAMECHANIYA: Dlya povtopa ceanca pocle cboya neobxodimo, chtoby v cppavochnike "/tmp" byli octavleny fajly c imenami "rett*" i "resv*". B imena pabochix fajlov pedaktopa dobavlyaetcya imya pol'zovatelya, vzyatoe iz pepemennoj "USER", libo nomep pol'zovatelya, ecli eta pepemennaya ne zadana.. FAJLY /tmp/rett*.imya - ppotokol paboty pedaktopa; /tmp/resv*.imya - coctoyanie pedaktopa ppi vyxode iz nego; /tmp/retm*.imya - pabochij fajl. 105 APK.00210-01 33 01-5 IMYA: refft, crreff - poluchenie tablicy ispol'zovaniya iden- tifikatorov. FORMAT: refft <spisok fajlov> crreff <fajl> OPISANIE: Komandy refft i crreff sluzhat dlya polucheniya tablicy ispol'zovaniya identifikatorov v programme ili komplek- se programm na Si. Parametrom komandy crreff yavlyaetsya imya fajla, soderzhashchego ishodnuyu programmu na yazyke Si, esli imya fajla ne zadano, chitaetsya standartnyj vvod. Komanda chitaet ishodnyj tekst programmy na Si i vydaet tablicu identifikatorov v sleduyushchem formate: chislo imya fajl stroka stroka ... Dlya kazhdogo identifikatora, vydaetsya "chislo" vhozhde- nij, ego "imya", "fajl" i spisok "strok", v kotoryh on vstrechaetsya. Komanda refft sostavlyaet analogichnuyu tablicu dlya prog- rammy, zanimayushchej neskol'ko fajlov; v etom sluchae dlya kazhdogo identifikatora vydaetsya neskol'ko spiskov strok, po odnomu dlya kazhdogo fajla. DOPOLNITELXNYE SSYLKI : ctags 106 APK.00210-01 33 01-5 ZAMECHANIYA: Komanda refft na samom dele yavlyaetsya komandnym fajlom na SHELL i ispol'zuet komandu crreff v special'nom re- zhime (flag "-j"). 107 APK.00210-01 33 01-5 IMYA: rev - perevernut' stroki fajla FORMAT: rev [fajl]... OPISANIE: Komanda rev kopiruet ukazannye fajly v standartnyj fajl vyvoda, menyaya na protivopolozhnyj poryadok sledova- niya simvolov v kazhdoj stroke. Esli ne ukazan ni odin fajl, informaciya beretsya iz standartnogo fajla vvoda. 108 APK.00210-01 33 01-5 IMYA: rline - chtenie odnoj stroki FORMAT: rline OPISANIE: Komanda rline schityvaet odnu stroku iz standartnogo vvoda i vydaet ee v standartnyj vyvod. Komanda ispol'- zuetsya v CSHELL dlya vvoda s terminala, naprimer: # echo "Enter devise type set dev=`rline` 109 APK.00210-01 33 01-5 IMYA: rm, rmdir - ydalit' fajly (cppavochniki) FORMAT: rm [-f] [-r] [-i] [-] fajl... rmdir spravochnik ... OPISANIE: Komanda rm udalyaet iz spravochnika ssylki na odin ili neskol'ko fajlov. Esli nekotoraya ssylka yavlyaetsya poslednej ssylkoj na dannyj fajl, etot fajl unichtozhaetsya. Dlya udaleniya fajla iz spravochnika trebuetsya pravo zapisi v dannyj spravochnik, no ne trebuyutsya ni pravo zapisi v dannyj fajl, ni pravo chteniya fajla. Esli pol'zovatel' ne imeet prava zapisi v fajl, a standartnym fajlom vvoda yavlyaetsya terminal, vydaetsya zapros na podtverzhdenie operacii i schityvaetsya stroka standartnogo vvoda. Esli eta stroka nachinaetsya simvo- lom "y", fajl udalyaetsya, v protivnom sluchae fajl osta- etsya. Nikakie voprosy ne zadayutsya, esli zadan klyuch "-f". Esli ukazannyj fajl yavlyaetsya spravochnikom, pechataetsya soobshchenie ob oshibke. Pri ispol'zovanii klyucha "-r" re- kursivno unichtozhayutsya fajly iz etogo spravochnika i sam spravochnik. Pri ukazanii klyucha "-i" (interaktivno) komanda rm za- 110 APK.00210-01 33 01-5 daet vopros o neobhodimosti udaleniya kazhdogo fajla, a vmeste s klyuchom "-r" - nuzhno li proveryat' kazhdyj spra- vochnik. Komanda rmdir udalyaet ssylki na ukazannye spravochniki. Pri etom spravochniki dolzhny byt' pustymi. DOPOLNITELXNYE SSYLKI : unlink ZAMECHANIYA: Mogut vozniknut' vrednye posledstviya pri neumyshlennom vypolnenii chego-nibud' vrode "rm .*" Glubina vlozhennosti spravochnikov pri ispol'zovanii "rm -r" ne dolzhna byt' slishkom bol'shoj. 111 APK.00210-01 33 01-5 IMYA: rpl - kontekstnaya zamena FORMAT: rpl shablon zamena OPISANIE: Komanda rpl schityvaet stroki iz standartnogo vvoda, zamenyaet vse vhozhdeniya stroki - pervogo argumenta na vtoroj argument, i vydaet rezul'tat v standartnyj vyvod. Raspoznayutsya regulyarnye vyrazheniya v pervom ar- gumente po tem zhe pravilam, kakie dejstvuyut v redakto- re "ed" v kontekste poiska, s tem otlichiem, chto vmesto simvola "." dlya oboznacheniya odnogo proizvol'nogo sim- vola ispol'zuetsya simvol "@". Primer: rpl "^ *" ":" <a >b Schityvaetsya fajl "a", vse gruppy probelov v nachale strok zamenyayutsya na dvoetochie, i rezul'tat zapisyvaet- sya v fajl "b". Komanda rpl prednaznachena glavnym obrazom dlya kon- tekstnoj zameny v redaktore red, hotya mozhet ispol'zo- vat'sya i samostoyatel'no. 112 APK.00210-01 33 01-5 IMYA: sed - paketnyj redaktor FORMAT: sed [-n] [-e kom.] [-f kom._fajl] [fajl]... OPISANIE: Redaktor sed perepisyvaet po umolchaniyu informaciyu iz fajla standartnogo vvoda v fajl standartnogo vyvoda, izmenyaya ih v sootvetstvii s programmoj redaktirova- niya. Esli pri vyzove sed zadan argument pri klyuche "-f", to programma redaktirovaniya beretsya iz fajla "kom._fajl"; fajlov s programmami redaktirovaniya mozhet byt' nes- kol'ko. Esli pri vyzove zadan tol'ko argument pri klyu- che "-e" i ne zadano ni odnogo argumenta pri klyuche "-f", to klyuch "-e" mozhet byt' opushchen. Argument pri klyuche "-n" ukazyvaet fajl, v kotoryj zapisyvaetsya re- zul'tat redaktirovaniya. Programma redaktirovaniya sos- toit iz komand, raspolagayushchihsya po odnoj na stroke, i imeyushchih sleduyushchij format: [adres [, adres]] imya_komandy [argumenty] Poryadok raboty redaktora: sed kopiruet stroki iz re- daktiruemogo fajla v rabochuyu oblast', posledovatel'no vypolnyaya vse komandy v oblast' dejstviya kotoryh vhodyat stroki, nahodyashchiesya v rabochej oblasti; po zaversheniyu programmy redaktirovaniya rabochaya oblast' kopiruetsya v 113 APK.00210-01 33 01-5 standartnyj fajl vyvoda (krome sluchaya, kogda zadan ar- gument pri klyuche -n). Posle chego rabochaya oblast' unich- tozhaetsya. Oblast'yu dejstviya komandy yavlyaetsya: - desyatichnoe chislo, sootvetstvuyushchee poryadkovomu nomeru vvedennoj stroki (bez obnuleniya schetchika strok pri perehode k sleduyushchemu redaktiruemomu fajlu); - simvol "$" - sootvetstvuyushchij poslednej stroke redaktiruemogo fajla; - "regulyarnoe vyrazhenie" prakticheski polnost'yu sovpadayushchee s regulyarnym vyrazheniem, primenyaemym v ed s tem otlichiem, chto posledovatel'nost' sim- volov "0 sootvetstvuet simvolu novoj stroki, vvedennomu v rabochuyu oblast'. Esli pri komande ne zadana oblast' dejstviya, to koman- da obrabatyvaet vsyu rabochuyu oblast'. Esli pri komande zadana oblast' dejstviya, to komanda obrabatyvaet kazhduyu stroku, sootvetstvuyushchuyu ukazannoj oblasti dejstviya. Esli pri komande zadan diapazon (t.e. dva obrazca, razdelennye zapyatoj), to ona primenima k pervoj stro- ke, kotoraya sootvetstvuet pervomu obrazcu i vsem pos- leduyushchim strokam vklyuchaya stroku, sootvetstvuyushchuyu vto- 114 APK.00210-01 33 01-5 romu obrazcu. Posle etogo v sleduyushchih strokah obraba- tyvaemogo fajla delaetsya popytka snova najti stroku, kotoraya sootvetstvuet pervomu obrazcu, i process pov- toryaetsya. Ispol'zovanie komandy otricaniya "!" privodit k tomu, chto sleduyushchaya za nej komanda (zapicannaya na odnoj c nej ctpoke), ppimenyaetcya tol'ko k tem strokam, koto- rye ne sootvetstvuyut ukazannoj oblasti dejstviya. Argument, oboznachaemyj text, sostoit iz strok, kazhdaya iz kotoryh, isklyuchaya poslednyuyu, zakanchivaetsya simvolom '/ , neobhodimym dlya togo, chtoby skryt' escape- posledovatel'nost' "novaya stroka". Simvoly '/ traktu- yutsya redaktorom libo kak simvoly '/ v zameshchayushchej stroke komandy s, libo ispol'zuyutsya dlya vyvoda v re- zul'tiruyushchij fajl prisutstvovavshih v redaktiruemom tekste simvolov probela i tabulyacii (simvol '/ dolzhen stoyat' pered znakom tabulyacii ili trebuemym chislom probelov); v protivnom sluchae probely i simvoly tabu- lyacii unichtozhayutsya. Argument, oboznachaemyj rfile ili wfile, dolzhen stoyat' poslednim v stroke, soderzhashchej komandu redaktirovaniya; komandu i etot argument dolzhen razdelyat' tochno odin probel. Kazhdyj argument wfile sozdaetsya pered nachalom obrabotki. Komandam odnovremenno mozhet byt' zadano ne bolee desyati razlichnyh argumentov wfile. (1)a text 115 APK.00210-01 33 01-5 Dobavit'. Pomeshchaet text v rezul'tiruyushchij fajl pered chteniem sleduyushchej stroki redaktiruemogo fajla. (2)b label Perehod na komandu ":" s metkoj label. Esli "label" otsutstvuet, to perehodyat na konec prog- rammy redaktirovaniya. (2)c text Izmenit'. Komanda "s" udalyaet stroki, vybrannye po zadannoj oblasti dejstviya, i zameshchaet ih strokami argumenta text. (2)d Unichtozhit' rabochuyu oblast'. (2)D Unichtozhit' nachal'nyj segment rabochej oblasti do pervoj escape-posledovatel'nosti "novaya stroka". (2)g Zamenit' soderzhimoe rabochej oblasti soderzhimym sohranyaemogo bufera. (2)G Dobavit' soderzhimoe sohranyaemogo bufera k soder- zhimomu rabochej oblasti. (2)h Zamenit' soderzhimoe sohranyaemogo bufera na so- derzhimoe rabochej oblasti. (2)H Dobavit' soderzhimoe rabochej oblasti k sohranya- emomu buferu. (1)i text 116 APK.00210-01 33 01-5 Vvesti. Pomestit' text v standartnyj fajl vyvo- da. (2)n Skopirovat' rabochuyu oblast' v standartnyj fajl vyvoda. Zamenit' rabochuyu oblast' sleduyushchej vvo- dimoj strokoj. (2)N Dobavit' sleduyushchuyu vvodimuyu stroku k rabochej ob- lasti, soderzhashchej simvoly "'0. Nomer tekushchej stroki izmenitsya. (2)p Napechatat'. Zapisat' rabochuyu oblast' v stan- dartnyj fajl vyvoda. (2)P Zapisat' nachal'nyj segment rabochej oblasti do pervogo simvola novoj stroki v standartnyj fajl vyvod. (1)q Vyjti. Perejti na konec programmy redaktirova- niya. (1)r rfile Prochest' soderzhimoe rfile. Pomestit' ego v re- zul'tiruyushchij fajl pered prochteniem novoj vvodi- moj stroki. (2)s/ regulyarnoe vyrazhenie / zamena / flagi Podstavit' stroku zameny iz regulyarnogo vyrazhe- niya vmesto sootvetstvuyushchih obrazcov v rabochuyu oblast'. Kak i v redaktore ed , vmesto simvola '/' mozhet stoyat' lyuboj simvol. Kolichestvo flagov 117 APK.00210-01 33 01-5 mozhet byt' lyubym. Oni imeyut sleduyushchie znacheniya: g Global'nyj. Podstavit' vmesto vseh vhozhde- nij nesovpadayushchih regulyarnyh vyrazhenij, a ne tol'ko vmesto pervogo; p Raspechatat' rabochuyu oblast' pri uslovii, chto podstanovka byla vypolnena; w file Zapisat'. Esli byla provedena zamena, do- bavit' k file rabochuyu oblast'; (2)t label Proverit'. Esli posle samogo poslednego chteniya ili ispolneniya komandy t byla provedena lyubaya podstanovka perejti na komandu ":" s metkoj label. Esli metka otsutstvuet, perejti na konec programmy redaktirovaniya; (2)w file Zapisat'. Dobavit' rabochuyu oblast' k file; (2)x Pomenyat' soderzhimoe rabochej oblasti na soderzhi- moe sohranyaemogo bufera; (2)y/stroka1/stroka2/ Preobrazovat'. Zamenit' vse vhozhdeniya simvolov, obrazuyushchih stroku1, na sootvetstvuyushchie simvoly iz stroki2. Dliny stroki1 i stroki2 dolzhny sov- padat'; 118 APK.00210-01 33 01-5 (2)! komanda Otricanie. Primenenie komandy otricaniya "!" pri- vodit k tomu, chto sleduyushchaya za nej komanda (ili gruppa komand, esli komandoj yavlyaetsya {...} ), zapisannaya na odnoj s nej stroke, primenyaetsya tol'ko k tem strokam, kotorye ne sootvetstvuyut ukazannoj oblasti dejstviya; (0):metka Po etoj komande nikakih dejstvij ne proizvodit- sya. Pri etoj komande stoit metka na kotoruyu pe- rehodyat po komandam t i b; (1)= Ravenstvo. Po komande "=" v standartnyj fajl vy- voda zapisyvaetsya nomer stroki, imeyushchej ukazan- nuyu pri komande oblast' dejstviya; (2){ Ispolnit' sleduyushchie komandy do simvola } tol'ko posle vybora rabochej oblasti. Pustaya komanda propuskaetsya. DOPOLNITELXNYE SSYLKI : ed, grep, awk, lex 119 APK.00210-01 33 01-5 IMYA: send - peredat' zadanie na obrabotku v OS ES FORMAT: send [-klyuchi] [fajl ...] gath [-klyuchi] [fajl ...] OPISANIE: Komandoj send formiruetsya i peresylaetsya fajl, soder- zhashchij zadanie dlya OS ES. Zadanie dolzhno byt' oformleno v sootvetstvii trebovanij YAUZ OS ES. Peresylka fajla zadaniya komandoj send ispol'zuet mehanizm modelirova- niya ustrojstv edinichnyh zapisej metodom nakopleniya, rezhimy dejstviya kotorogo ustanavlivayutsya komandoj MVM SPOOL. Takim obrazom sozdannyj fajl komanda send per- foriruet na virtual'nom perfokartochnom vyvode komandoj vmpunch v fajl nakopleniya dlya VM OS ES. Sostoyanie zadaniya dlya OS ES mozhno poluchit' posredstvom ispol'zovaniya komandy st. Komanda send obespechivaet fajl zadaniya v vide sbornogo vvodnogo potoka iz neskol'kih istochnikov vvoda. Voz- mozhnymi istochnikami vvoda yavlyayutsya: - obychnye fajly DEMOS; - standartnyj vvod; - vyvodnye fajly komand DEMOS. 120 APK.00210-01 33 01-5 Formiruemyj vvodnoj potok napravlyaetsya send vo vremen- nyj fajl, v kotorom posle zameny i podstanovki pere- mennyh soderzhitsya sobstvenno zadanie OS ES. Ukazanie dejstvuyushchih opcij komandy send, istochnikov vvoda, a takzhe dejstvitel'nyh znachenij peremennyh v obrazah kart fajla zadaniya osushchestvlyaetsya s pomoshch'yu vnutrennih komand. Stroki, nachinayushchiesya s ~, interpretiruyutsya kak vnutrennie komandy, kontroliruyushchie vypolnenie send. Oni mogut ustanavlivat', ili povtorno ustanavlivat' spisok dejstvuyushchih opcij, opredelyat' zameny pepemennyx, otkpyvat' novye istochniki vvoda vnutri te- kushchego istochnika. send upravlyaetsya sleduyushchimi vnutrennimi komandami: ^-flags spisok opcij ustanavlivaet rezhimy funkcionirova- niya send; ^+flags spisok opcij pereustanavlivaet rezhimy, ranee us- tanovlennye dlya send; ^+:promt raspechatat' podskazku na terminale; ^-:promt pacpechatat' podckazky, tol'ko esli v kachestve standartnogo vvoda raspredelen terminal; ^!command 121 APK.00210-01 33 01-5 vypolnit' ukazannuyu komandu DEMOC, vyzvav intepppetatop SHELL. Po umolchaniyu v kachestve fajla standartnogo vvoda opredelyaetsya /dev/null. Standartnyj vyvod komandy DEMOS opredelyaetsya v kachestve vvoda komandy send; ^^comment ispol'zuetsya dlya vozmozhnosti kommentirovat' programmu, ne popadaet v formiruemyj komandoj send vvodnoj potok; ^=:keyword;default rezul'tatom obrabotki etoj vnutrennej komandy yavlyaetsya raspredelenie terminala v kachestve fajla vvoda, v celyah ispol'zovat' vvodnuyu stroku v vide dejstvitel'nogo znacheniya klyuchevogo para- metra, imya kotorogo ukazano v komande. Prinima- etsya znachenie po ymolchaniyu, ecli vvoditcya pyctaya ctpoka; ^keyword=string zamena peremennoj v klyuchevom opepande; ^file raspredelit' v kachestve vvoda fajl s ukazannym imenem dlya formirovaniya vvodnogo potoka send; ^*file raspredelit' v kachestve vvoda fajl s ukazannym imenem, ne proizvodya translyaciyu registra ili za- meshchenie klyuchevogo slova i schitaya stroki s vnut- 122 APK.00210-01 33 01-5 rennimi komandami obychnym tekstom. Edinstvennoj obrabotkoj dannyh budet proverka na prevyshenie kazhdoj strokoj makcimal'nogo pazmepa; ^?file raspredelit' v kachestve vvoda fajl s ukazannym imenem ne proizvodya translyaciyu registra ili za- meshchenie klyuchevogo slova i schitaya stroki s vnut- rennimi komandami obychnym tekstom. Edinstvennoj obrabotkoj dannyh budet ih blokirovanie v 80-bajtnye zapici; ^==keyword;n peredat' sleduyushchie n strok iz upravlyayushchego fajla v vvodnoj potok, esli ne vvedeno imya peremennogo klyuchevogo parametra, ili esli eto imya vvedeno, a s terminala, raspredelennogo v kachestve istochni- ka znachenij peremennyh, vvoditsya pustaya stroka. n po umolchaniyu prinimaet znachenie=1; -uUSER imya pol'zovatelya DEMOS, kotoromu raspredelyayutsya vyvodnye fajly (po umolchaniyu ispol'zuetsya imya pol'zovatelya, poslavshego komandy send); -cLINK imya linii v PDP, na kotoroj raspredelyaetsya vy- vodnoj fajl (tekushchee imya po ymolchaniyu 'COMPLEX 1'); 123 APK.00210-01 33 01-5 -l raspredelit' fajl standartnogo vyvoda i otobra- zit' na nem obrazy kart fajla zadaniya; -q ne peredavat' v fajle zadaniya operatory YAUZ OC EC; -f proizvesti translyaciyu ctpochnyx bykv v ppopicnye; -t vosproizvesti v raspechatke generaciyu operatorov YAUZ OS ES pered i posle zameshcheniya; -k vyklyuchit' zameshchenie klyuchevyh slov dlya neyppavlya- yushchix ctpok; -r vypolnit' perekodirovku koda KOI-8 v DKOI; -e steret' vse predydushchie oppedeleniya klyuchevogo clova; -i ne intepppetipovat' stroki vnutrennih komand vo vklyuchaemyh istochnikah, schitaya ih tekstom. Pre- duprezhdenie: ustanovlennyj flag ne podlezhit pepeyctanovke; -s proizvesti zameshchenie klyuchevogo slova pered intepppetaciej yppavlyayushchix ctpok; -d vyvesti na displej tekushchie opredeleniya klyuchevogo slova (ispol'zuemye pepvonachal'no dlya otladki). Komandnye stroki (nachinayushchiesya s ^) v dejstvuyushchem po umolchaniyu pezhime +i intepppetipyyutcya v kachestve komand upravleniya rabotoj send. Flag -s obespechivaet operezha- 124 APK.00210-01 33 01-5 yushchuyu zamenu klyuchevyh clov otdeleniyu i intepppetacii vnutrennih komand send. send obychno ne soderzhit speci- al'nyh simvolov v komandnyh strokah. Odnako oni dopus- kayutsya. Togda podskazki, klyuchevye slova, znacheniya po umolchaniyu i stroki zameny, soderzhashchie special'nye sim- voly dolzhny zaklyuchat'sya v kavychki (" "). send obespechivaet gibkost' formirovaniya operatorov YAUZ OS ES na osnove sostavlennyh zagotovok s pomoshch'yu meha- nizma podskazki i opredeleniya klyuchevyh slov. Obychno send vyzyvaetsya v komandnom fajle SHELL ili v program- me C. V programme proizvoditsya sborka opredelenij klyu- chevyh slov v fajl, a zatem vyzyvaetsya send s peredachej imeni fajla, soderzhashchego eti opredeleniya. Fajl oprede- lenij klyuchevyh slov ostaetsya aktivnym na protyazhenii obrabotki vsego vhodnogo potoka. Tak chto skanirovaniem vyyavlyayutsya stroki s klyuchevymi clovami, kotopym oprede- leny znacheniya. Nesootvetstvuyushchie simvoly vyvodyatsya v tom vide, v kotorom oni nahodyatsya (ili perevodyatsya v verhnij registr, esli ustanovlen flag -f). Klyuchevym parametrom yavlyaetsya proizvol'naya stroka simvolov v KOI-8, dlya kotoroj byla opredelena stroka zameshcheniya. Dlya naglyadnosti rekomenduetsya vydelyat' peremennye klyu- chevye parametry lidiruyushchim ampersandom (&), hotya eto ne obyazatel'no. Obrabotkoj send peremennye klyuchevye parametry zamenya- yutsya sootvetstvuyushchej strokoj zameshchenij, kotoraya zatem posimvol'no vyvoditsya. Proverka razmera strok (napri- 125 APK.00210-01 33 01-5 mer po ^*file) otkladyvaetsya do okonchaniya proizvodstva v nej vseh zameshchenij. Zameshchenie klyuchevogo slova mozhet byt' vremenno vyklyuche- no putem ustanovki flaga -k. Esli proishodit pereopre- delenie klyuchevogo slova, zameshchaetsya znachenie zameshche- niya. Predydushchie opredeleniya klyuchevogo slova mogut byt' polnost'yu sterty putem ispol'zovaniya flaga -e. send ne proveryaet sintaksis generiruemyh operatorov YAUZ. Odnako ona proveryaet, chtoby razmer stroki teksta posle zameshcheniya ne prevyshal 80 bajtov. Drugimi procedurnymi oshibkami yavlyayutsya: oshibki otkrytiya i za- pisi v fajly, a takzhe anomal'nye vyhody iz SHELL. Oshibki sobirayutsya v fajl diagnostiki, a o predstavle- nii vhodnogo potoka zadanij na obrabotku v OS ES send signaliziruet na terminal utverditel'nym soobshcheniem. Kogda komanda vyzyvaetsya pod imenem gath ona ustanav- livaet flag -lq. Rezul'tat vypolneniya zadanij v OS ES mozhno vozvratit' v DEMOS, ispol'zuya komandu demsend. Listing operatorov YAUZ mozhno vozvratit' v DEMOS, Ispol'zuya kartu DEMROUTE. FAJLY: usr/spool/send * vremennyj fajl dlya formirovaniya vhodnogo potoka. DOPOLNITELXNYE SSYLKI: sh, st, vmread, demsend 126 APK.00210-01 33 01-5 DIAGNOSTIKA: Otmechaetsya prevyshenie stroki vhodnogo potoka 80 simvo- lov, posle podstanovki znachenie peremennoj klyuchevogo parametra. Vyvoditsya predlozhenie: vvesti simvol y dlya raspechatki kakih-libo oshibok. 127 APK.00210-01 33 01-5 IMYA: sendmvt - skopirovat' fajl DEMOS v nabor dannyh OS ES. FORMAT: sendmvt [demos_fajl [os_es_fajl [fajl_vyvoda]]] OPISANIE: sendmvs pozvolyaet pol'zovatelyu kopirovat' fajl DEMOS v posledovatel'nyj nabor dannyh ili razdel biblioteki OS ES. |to osushchestvlyaetsya formirovaniem zadaniya kopi- rovaniya i peredachej ego v sredu paketnoj obrabotki OS ES. Parametry komandy sendmvt ispol'zuyutsya v komandnyh strokah, upravlyayushchih zamenoj peremennyh v klyuchevyh papametpax opepatopov YAUZ formiruemogo zadaniya. Sposob ih zadaniya mozhet byt' yavnym, v sostave komandy, ili oni vvodyatsya v otvet na podskazku. Imya "os_es_fajl" mozhet byt' prostym ili sostavnym, na osnove trebovanij specifikacii imen naborov dannyh OS ES. Esli fajl DEMOS dolzhen stat' razdelom bibliotechno- go nabora dannyh, imya razdela ukazyvaetsya za imenem nabora v kavychkah. Kopirovanie osushchestvlyaetsya kak v uzhe sushchestvuyushchij nabor dannyh, tak i novyj nabor dannyh. Poetomu vyda- etsya zapros sushchestvuet-li uzhe nabor OS ES. Esli vvo- ditsya y, to schitaetsya, chto nabor uzhe sushchetvuet i kata- logizirovan v sisteme OS ES. Na otvet n, oznachayushchij 128 APK.00210-01 33 01-5 sozdanie vnov' nabora, vydaetsya podskazka o neobhodi- mosti vvesti informaciyu harakteristik budushchego nabora. "fajl_vyvoda" yavlyaetsya imenem fajla DEMOS. |tot fajl budet ispol'zovat'sya utilitoj vmread dlya vyvoda re- zul'tatov vypolneniya zadaniya kopirovaniya. FAJLY: /usr/lib/model/sendmvt obrazec zadaniya dlya OS ES /tmp/sendmvt.* vpemennyj yppavlyayushchij fajl send DOPOLNITELXNYE SSYLKI:re send ,vmread 129 APK.00210-01 33 01-5 IMYA: sh, for, case, if, while, :, ., break, continue, cd, eval, exec, exit, export, login, newgrp, read, readonly, set, shift, times, trap, umask, wait - ko- mandnyj yazyk. FORMAT: sh [-ceiknrstuvx] [par] ... OPISANIE: Komanda sh vyzyvaet interpretator yazyka upravleniya za- daniyami SHELL, kotoryj yavlyaetsya osnovnym yazykom obshche- niya pol'zovatelya s sistemoj. Krome togo SHELL ochen' shiroko primenyaetsya i v kachestve yazyka razrabotki prog- ramm. KOMANDY: Prostaya komanda predstavlyaet soboj posledovatel'nost' slov, razdelennyh "probelami" (probelami, znakami ta- bulyacii ili simvolami novoj stroki). Pervoe slovo op- redelyaet imya komandy, kotoraya dolzhna byt' vypolnena. Ostal'nye slova peredayutsya v kachestve parametrov vyzy- vaemoj komandy. Imya komandy yavlyaetsya nulevym paramet- rom . "Znacheniem" prostoj komandy yavlyaetsya ee kod za- versheniya, esli ona vypolnena uspeshno, ili 200+kod - v protivnom sluchae. Neskol'ko komand, razdelennyh simvolom "|", predstav- lyayut soboj kanal mezhprocessnoj svyazi. Informaciya, vy- 130 APK.00210-01 33 01-5 davaemaya v standartnyj fajl vyvoda odnoj komandoj, mozhet peredavat'sya drugoj komande v kachestve stan- dartnogo fajla vvoda. Pri etom sozdaetsya cepochka pro- cessov - konvejer. Kazhdaya komanda vypolnyaetsya kak ot- del'nyj process; sh zhdet okonchaniya translyacii posled- nej iz vypolnyaemyh komand. Spisok_komand predstavlyaet soboj posledovatel'nost' iz odnoj ili neskol'kih prostyh komand, razdelennyh sim- volami ";", "&", "&&" ili "||", i mozhet zakanchivat'sya simvolami ";" ili "&". Simvoly ";", "&" i "&&", "||" poparno imeyut odinakovyj prioritet, odnako, prioritet pary "&" i "|" nizhe, chem u "&&" i "||". Tochka s zapya- toj, stoyashchaya v konce spiska_komand, vyzyvaet posledo- vatel'noe vypolnenie ukazannyh komand; ampersand uka- zyvaet na to, chto sleduyushchaya komanda mozhet byt' vypol- nena bez ozhidaniya zaversheniya predydushchej (fonovyj pro- cess). Simvol "&&" ("||") razreshaet vypolnenie posle- duyushchej komandy tol'ko v tom sluchae, esli kod zavershe- niya predydushchej raven nulyu (ne raven nulyu). V kachestve razdelitelej v spiskah komand vmesto tochki s zapyatoj mogut ispol'zovat'sya simvoly novoj stroki. Kod zaversheniya spiska_komand raven znacheniyu koda za- versheniya poslednej prostoj komandy spiska. Posledovatel'nost' komand mozhno zapisat' v fajl i vy- polnit', ukazav imya etogo fajla. Dalee perechisleny os- novnye konstrukcii komandnogo yazyka sh. 131 APK.00210-01 33 01-5 for imya [in slovo ...] do spisok_komand done Pri kazhdom povtorenii cikla for "imya" ustanavli- vaetsya na sleduyushchee znachenie v spiske "slovo ...". Esli konstrukciya "in slovo ..." otsutstvu- et, to po umolchaniyu predpolagaetsya "in $@" (t.e. cikl vypolnyaetsya odin raz dlya kazhdogo zadannogo parametra). case slovo in [obr1 [|obr2]...) spisok_komand;;] ... esac Pri obnaruzhenii sootvetstviya "slova" odnomu iz obrazcov, vypolnyaetsya zadannyj "spisok_komand". Obrazec "*" sootvetstvuet lyuboj stroke. if spisok_komand1 then spisok_komand2 [elif spisok_komand3 then spisok_komand4] [else spisok_komand5] Esli kod zaversheniya "spiska_komand1" raven nulyu, vypolnyaetsya "spisok_komand2", inache - "spi- sok_komand3" i, esli ego kod zaversheniya raven nulyu, vypolnyaetsya "spisok_komand4". V protivnom sluchae vypolnyaetsya "spisok_komand5". 132 APK.00210-01 33 01-5 while spisok_komand1 [do spisok_komand2] done Esli kod zaversheniya "spiska_komand1" raven nulyu, vypolnyaetsya "spisok_komand2" i cikl povtoryaetsya, inache - vypolnenie cikla zakanchivaetsya. until spisok_komand1 [do spisok_komand2] done Esli kod zaversheniya "spiska_komand1" ne raven nulyu, vypolnyaetsya "spisok_komand2" i cikl povto- ryaetsya, inache - vypolnenie cikla zakanchivaetsya. (spisok_komand) Vypoln