it' "spisok_komand", zapustiv sh v ka- chestve podprocessa. {spisok_komand;} vypolnit' "spisok_komand". K zarezervirovannym slovam interpretatora sh otnosyatsya sleduyushchie slova: "if", "then", "else", "elif", "fi", "case", "in", "esac", "for", "while", "until", "do", "done", "{", "}". Oni raspoznayutsya tol'ko v tom slu- chae, esli yavlyayutsya pervym slovom komandy i ne zaklyuche- ny v kavychki. PODSTANOVKA REZULXTATOV VYPOLNENIYA KOMAND: 133 APK.00210-01 33 01-5 Esli komanda zaklyuchena v obratnye apostrofy (``), ona vypolnyaetsya i zameshchaetsya v komandnoj stroke rezul'ta- tom svoego vypolneniya. |tot rezul'tat mozhet ispol'zo- vat'sya kak chast' slova ili kak celoe slovo; simvoly novoj stroki otbrasyvayutsya. PODSTANOVKA ZNACHENIJ PARAMETROV: Simvol "$" ukazyvaet na vypolnenie podstanovki znache- nij parametrov. Komanda set prisvaivaet znacheniya pozi- cionnym parametram. Peremennye ustanavlivayutsya sledu- yushchim obrazom: imya = znachenie [imya = znachenie] ... ${parametr} "Parametr" mozhet byt' treh vidov: 1) posledova- tel'nost' bukv, cifr ili simvolov podcherkivaniya (t.e. opredelennoe "imya"), 2) cifra, 3) odin iz simvolov * @ # ? - $ !. V rezul'tate vypolneniya dannogo makrovyzova osushchestvlyaetsya podstanovka znacheniya parametra (esli ono opredeleno). Figur- nye skobki ispol'zuyutsya tol'ko v tom sluchae, es- li posle "parametra" sleduet bukva, cifra ili simvol podcherkivaniya, ne yavlyayushchiesya chast'yu ego imeni. Esli "parametr" predstavlyaet soboj cifru, to on schitaetsya pozicionnym. Esli "parametrom" yavlyaetsya simvol * ili @, podstavlyayutsya znacheniya vseh pozicionnyh parametrov (krome 0), razdelen- 134 APK.00210-01 33 01-5 nye probelami. ${parametr-slovo} Esli "parametr" opredelen, podstavit' ego znache- nie, inache podstavit' "slovo". ${parametr=slovo} Esli "parametr" ne opredelen, prisvoit' emu zna- chenie "slova" i vypolnit' podstanovku etogo zna- cheniya. Znacheniya pozicionnyh parametrov takim sposobom opredelyat'sya ne mogut. ${parametr?slovo} Esli "parametr" opredelen, podstavit' ego znache- nie; inache napechatat' "slovo" i prekratit' vy- polnenie komandnogo fajla. Esli "slovo" ot- sutstvuet, pechataetsya standartnoe diagnostiches- koe soobshchenie. ${parametr+slovo} Esli "parametr" opredelen, podstavit' "slovo", v protivnom sluchae nichego ne podstavlyat'. V privedennyh konstrukciyah komanda, opredelyaemaya "slovom", ne budet vypolnyat'sya, esli "slovo" ne yavlya- etsya podstavlyaemym znacheniem. (Takim obrazom, v prime- re "echo {d-`pwd`}" komanda pwd budet vypolnyat'sya tol'ko v tom sluchae esli parametr d ne opredelen). Sleduyushchie "parametry" avtomaticheski opredelyayutsya in- terpretatorom sh: 135 APK.00210-01 33 01-5 # Kolichestvo pozicionnyh parametrov; - Klyuchi, kotorye vvodyatsya pri vyzove ili s pomoshch'yu komandy set; ? Kod zaversheniya poslednej vypolnennoj komandy; $ Nomer tekushchego processa; ! Nomer processa poslednej fonovoj komandy. Sleduyushchie "parametry" ispol'zuyutsya, no ne opredelyayutsya interpretatorom: HOME Parametr soderzhit polnoe imya spravochnika (po umolchaniyu - imya registracionnogo spravochnika) dlya komandy cd, vyzyvaemoj bez parametrov; PATH Spisok imen spravochnikov, v kotoryh proizvoditsya poisk komand, otsutstvuyushchih v tekushchem spravochni- ke; MAIL Esli eta peremennaya opredelyaet imya fajla dlya priema pochty, to sh budet informirovat' pol'zo- vatelya o postuplenii pochty v ukazannyj fajl; PS1 Podskazka interpretatora pri vvode komandy, po umolchaniyu "$"; PS2 Podskazka interpretatora dlya prodolzheniya vvoda (esli komanda ne byla zavershena na predydushchej stroke), po umolchaniyu ">"; 136 APK.00210-01 33 01-5 IFS Simvoly-razdeliteli komandnoj stroki; obychno probel, znak tabulyacii i simvol novoj stroki. INTERPRETACIYA RAZDELITELEJ: V strokah, poluchennyh posle podstanovki znachenij para- metrov i rezul'tatov vypolneniya komand, osushchestvlyaetsya poisk simvolov-razdelitelej (opredelennyh v $IFS). V mestah nahozhdeniya takih simvolov stroki razbivayutsya na otdel'nye parametry. Pustye parametry, opredelennye yavno (" " ili ' '), sohranyayutsya. Pustye stroki, polu- chennye v rezul'tate vypolneniya parametrov, u kotoryh net znachenij, otbrasyvayutsya. GENERACIYA IMEN FAJLOV: Posle podstanovok i interpretacii simvolov- razdelitelej v kazhdom slove komandy osushchestvlyaetsya poisk simvolov *, ?, i [. Esli vstrechaetsya odin iz etih simvolov, to dannoe slovo schitaetsya obrazcom i zamenyaetsya sootvetstvuyushchim spiskom imen fajlov, raspo- lozhennyh v alfavitnom poryadke. Esli obrazcu ne soot- vetstvuet ni odno iz ukazannyh imen fajlov, to eto slovo ostaetsya neizmennym. Simvol "." v nachale imeni fajla dolzhen ukazyvat'sya yavno. * Sootvetstvuet lyuboj stroke, v tom chisle pustoj; ? Sootvetstvuet lyubomu odinochnomu simvolu; [...] Sootvetstvuet lyubomu iz perechislennyh simvolov. 137 APK.00210-01 33 01-5 Para simvolov, razdelennaya simvolom "-", soot- vetstvuet lyubomu simvolu iz ukazannogo leksiches- kogo promezhutka. |KRANIROVANIE: Sleduyushchie simvoly imeyut special'noe znachenie dlya in- terpretatora sh i vyzyvayut preryvanie vypolneniya ko- mandy, esli oni ne byli ekranirovany: ";", "&", "(", ")", "|", "<", ">", novaya_stroka, probel, tabulyaciya. Simvol mozhet byt' ekranirovan, esli emu predshestvuet . Dlya zapisi dlinnyh konstrukcij bolee chem v odnoj stroke, special'noe znachenie simvola novoj stroki "0 otmenyaetsya. Vse simvoly, zaklyuchennye v apostrofy (' '), za isklyucheniem samogo apostrofa, yavlyayutsya ekrani- rovannymi. Podstanovka znachenij parametrov i rezul'ta- tov vypolneniya komand vypolnyaetsya vnutri kavychek (" "). Simvol ekraniruet simvoly , `, " i $. "$*" ekvivalentno "$1 $2 ..." "$@" ekvivalentno "$1" "$2" ... . PODSKAZKI: V interaktivnom rezhime, pered schityvaniem komandy, sh pechataet znachenie peremennoj PS1 (po umolchaniyu - $). Esli vvedennaya stroka soderzhit sintaksicheski nezaver- shennuyu konstrukciyu, to dlya prodolzheniya vvoda interpre- tator vydaet v kachestve podskazki znachenie peremennoj PS2 (po umolchaniyu - simvol >). 138 APK.00210-01 33 01-5 VVOD-VYVOD: Dlya zadaniya fajlov vvoda/vyvoda ispol'zuyutsya special'- nye konstrukcii. Oni mogut nahodit'sya v lyubom meste prostoj komandy. Pered ispol'zovaniem "slova" ili "cifry" vypolnyayutsya vse neobhodimye podstanovki. <slovo Fajl "slovo" naznachaetsya standartnym fajlom vvo- da (deskriptor fajla 0). >slovo Fajl "slovo" naznachaetsya standartnym fajlom vy- voda (deskriptor fajla 1). Esli fajl ne su- shchestvuet, on sozdaetsya; v protivnom sluchae on usekaetsya do nulevoj dliny. >>slovo Fajl "slovo" naznachaetsya standartnym fajlom vy- voda. Esli fajl sushchestvuet, vyvodimaya informaciya dobavlyaetsya k ego soderzhimomu; v protivnom slu- chae fajl sozdaetsya. <<slovo Vvod osushchestvlyaetsya do teh por, poka ne vstrecha- etsya posledovatel'nost' simvolov "slovo". Polu- chennyj lokal'nyj fajl yavlyaetsya standartnym fajlom vvoda. Esli kakoj-libo simvol "slova" ek- ranirovan, ne proizvoditsya nikakoj interpretacii simvolov lokal'nogo fajla; v protivnom sluchae 139 APK.00210-01 33 01-5 proizvoditsya podstanovka znachenij parametrov i rezul'tatov vypolneniya komand, simvol novoj stroki ignoriruetsya, a znak ispol'zuetsya dlya ekranirovaniya simvolov , $, ` i pervogo simvola "slova". <&cifra Informaciya, zapisyvaemaya v fajl s deskriptorom "cifra", peredaetsya v standartnyj fajl vyvoda. >&cifra Standartnym fajlom vvoda yavlyaetsya fajl s deskriptorom "cifra". <&- Standartnyj fajl vvoda zakryt na zapis'. >&- Standartnyj fajl vyvoda zakryt na chtenie. Esli kakoj-libo iz ukazannyh konstrukcij predshestvuet cifra, to deskriptor sozdavaemogo fajla opredelyaetsya etoj cifroj (vmesto 0 ili 1 po umolchaniyu). VSTROENNYE KOMANDY: Vstroennye komandy prakticheski ne otlichayutsya po svoim svoistvam ot ostal'nyh komand sistemy, za isklyucheniem togo, chto dlya nih obychno nel'zya pereopredelit' stan- dartnye fajly vvoda/vyvoda. : Komanda ne proizvodit nikakih dejstvij, za isklyucheniem podstanovki znachenij makroperemen- nyh. Kod zaversheniya raven nulyu. 140 APK.00210-01 33 01-5 . fajl Vypolnit' komandnyj "fajl" v ramkah tekushchego processa. cd [spravochnik] Ob'yavit' ukazannyj "spravochnik" tekushchim. Esli parametr ne zadan, v kachestve imeni spravochnika ispol'zuetsya znachenie makroperemennoj HOME. eval [komanda ...] Provesti vse makropodstanovki i vypolnit' "ko- mandu ...". exec [komanda ...] Tekushchij process zamenit' processom vypolneniya "komandy ...". Dopuskaetsya pereopredelenie stan- dartnyh fajlov vvoda/vyvoda. exit [N] Preryvanie vypolneniya tekushchego processa s kodom zaversheniya N. Esli N otsutstvuet, kod zaversheniya opredelyaetsya kodom zaversheniya poslednej vypol- nennoj komandy. export [imya...] Ukazannye makroperemennye avtomaticheski vvodyatsya v sredu vypolnyaemyh vposledstvii komand. Esli parametry ne zadany, vydaetsya spisok imen eksportiruemyh makroperemennyh. login [par ...] 141 APK.00210-01 33 01-5 Registraciya pol'zovatelya v sisteme bez sozdaniya novogo processa (ekvivalent komandy "exec login par..."). newgrp [par ...] Zamena tekushchego identifikatora gruppy pol'zova- telej (ekvivalent komandy "exec newgrp par..."). read imya ... Iz standartnogo fajla vvoda schityvaetsya odna stroka. Zatem makroperemennym "imya ..." posledo- vatel'no prisvaivayutsya znacheniya slov, sostavlya- yushchih etu stroku. Kod zaversheniya komandy raven nulyu vo vseh sluchayah, krome teh, kogda spisok parametrov dlinnee, chem chislo slov v schitannoj stroke. readonly imya ... Zapreshchaetsya pereopredelenie perechislennyh makroperemennyh. Esli parametry ne zadany, vyda- etsya spisok vseh makroperemennyh, opredelennyh kak "readonly" (tol'ko dlya chteniya). set [-eknptuvx [par ...]] Ustanavlivaet rezhimy raboty interpretatora sh. Mogut zadavat'sya sleduyushchie klyuchi: -e V neinteraktivnom rezhime vyzyvaet nemed- lennoe preryvanie pri obnaruzhenii oshibki v vypolnenii komandy; 142 APK.00210-01 33 01-5 -k Vse opredelennye makroperemennye eksporti- ruyutsya v sredu zapuskaemyh processov; -n Proizvodit tol'ko sintaksicheskuyu proverku komand; -t Preryvaet vypolnenie processa posle togo, kak budet schitana i vypolnena odna koman- da; -u Ustanavlivaet rezhim diagnostiki oshibki pri popytke ispol'zovat' neopredelennye pere- mennye; -v Ustanavlivaet rezhim pechati vvodimyh strok po mere ih schityvaniya; -x Raspechatyvaet komandy i ih parametry po mere vypolneniya; - Otmenyaet klyuchi -x i -v. Ustanovlennye klyuchi soderzhatsya v makroperemennoj "-". Ostal'nym parametram prisvaivayutsya znacheniya pozicion- nyh parametrov "1, 2, ...". Esli parametry ne zadany, pechataetsya spisok znachenij vseh makroperemennyh; shift Pozicionnym parametram "2, 3, ..." prisvaivayutsya znacheniya parametrov "1, 2, ..." sootvetstvenno; times Vydaetsya vremya, zatrachennoe pol'zovatelem i sis- temoj na vypolnenie processa; 143 APK.00210-01 33 01-5 trap [komanda] [N ...] Pri poluchenii perechislennyh signalov vypolnyaetsya ukazannaya "komanda"; umask [ddd] Maske sozdaniya fajlov pol'zovatelya prisvaivaetsya vos'merichnyj kod ddd . Esli parametr ddd opushchen, vydaetsya tekushcheee znachenie maski; wait [n] Ozhidaet okonchaniya vypolneniya processa s nomerom n i prisvaivaet ego kod zaversheniya makroperemen- noj "?". VYZOV INTERPRETATORA: Esli pervym simvolom parametra "0" yavlyaetsya znak "-", to komandy schityvayutsya iz fajla .profile. Pri vyzove mogut ukazyvat'sya sleduyushchie klyuchi: -c stroka Komandy schityvayutsya iz "stroki"; -s Komandy schityvayutsya iz standartnogo fajla vvoda. Soobshcheniya interpretatora zapisyvayutsya v stan- dartnyj fajl diagnostik (fajl s deskriptorom 2); -i Interaktivnyj rezhim raboty interpretatora. FAJLY: $HOME/.profile /tmp/sh* 144 APK.00210-01 33 01-5 /dev/null DOPOLNITELXNYE SSYLKI : csh, test, exec DIAGNOSTIKA: Oshibki, obnaruzhennye interpretatorom (naprimer, sin- taksicheskie oshibki), privodyat k tomu, chto sh vozvrashcha- et kod zaversheniya, ne ravnyj nulyu. Esli pri etom rezhim raboty - neinteraktivnyj, to vypolnenie komandnogo fajla prekrashchaetsya. Esli zhe rezhim raboty interaktiv- nyj, sh vozvrashchaet kod zaversheniya poslednej vypolnen- noj komandy. 145 APK.00210-01 33 01-5 IMYA: size - soobshchit' razmer ob'ektnogo fajla FORMAT: size [obfajl...] OPISANIE: Komanda size pechataet (desyatichnoe) chislo bajtov, zani- maemoe tekstovym segmentom, segmentom dannyh i bss, a takzhe ih summu v desyatichnom i vos'merichnom kode dlya kazhdogo ob'ektnogo fajla "obfajl", ukazannogo v para- metrah. 146 APK.00210-01 33 01-5 IMYA: sleep - zaderzhat' vypolnenie na zadannyj interval FORMAT: sleep vremya OPISANIE: Komanda sleep zaderzhivaet vypolnenie na "vremya" sekund. Ona ispol'zuetsya dlya vypolneniya komandy cherez opredelennyj promezhutok vremeni, naprimer: (sleep 105; komanda) ili dlya vypolneniya komandy vremya ot vremeni, naprimer, while true do komanda sleep 37 done ZAMECHANIYA: "vremya" dolzhno byt' men'she 2 147 483 647 sekund. 147 APK.00210-01 33 01-5 IMYA: soelim - fil'tr dlya tekstovyh fajlov v formate pif. FORMAT: soelim [fajl...] OPISANIE: Komanda perepisyvaet fajly (po umolchaniyu standartnyj fajl vvoda) v standartnyj fajl vyvoda, zamenyaya direk- tivy pif vida: .so nekotoryj_fajl soderzhimym ukazannyh fajlov. Poskol'ku takie program- my, kak tbl, obychno ne delayut etogo, komanda soelim neobhodima, kogda trebuetsya raspolagat' otdel'nye tab- licy dokumenta v razlichnyh fajlah. Zamet'te, chto eto vklyuchenie mozhet podavlyat'sya pos- redstvom ispol'zovaniya "'" vmesto ".", t.e. 'so /usr/lib/tmac.s Primer ispol'zovaniya komandy soelim: soelim exum?.n | tbl | pif -ms | col | lpr DOPOLNITELXNYE SSYLKI : colcrt, more ZAMECHANIYA: Pered imenem fajla dolzhen byt' rovno odin probel, a posle nego ne dolzhno byt' probelov. 148 APK.00210-01 33 01-5 IMYA: sort - sortirovka i sliyanie fajlov FORMAT: sort [-mubdfinrtxz] [ +poz1 [-poz2] ]... [-o imya] [-T spravochnik] [imya]... OPISANIE: Komanda sort sortiruet sovmestno stroki vseh ukazannyh fajlov i zapisyvaet rezul'tat v standartnyj fajl vyvo- da. Esli vhodnye fajly ne zadany (ili ukazan klyuch "-"), sortiruetsya informaciya iz standartnogo fajla vvoda. Po umolchaniyu pri sortirovke rassmatrivaetsya vsya stro- ka. Standartnym poryadkom sortirovki yavlyaetsya aflavit- nyj (dlya bukv russkogo i latinskogo alfavita) i leksi- kograficheskij pobajtnyj v sootvetstvii s chislennymi znacheniyami kodov KOI-8 (dlya vseh ostal'nyh simvolov). Dlya izmeneniya pravil sortirovki ispol'zuetsya klyuch, ko- toryj mozhet soderzhat' sleduyushchie simvoly: b Ignorirovat' vedushchie probely i simvoly tabulyacii pri sravnenii polej; d "Slovarnyj poryadok": pri sravnenii uchityvayutsya tol'ko bukvy, cifry i probely; f Ne razlichat' strochnye i propisnye bukvy; i Ignorirovat' simvoly KOI-8 s kodami vne diapazo- 149 APK.00210-01 33 01-5 nov 040-0176 i 0300-0376 pri tekstovyh sravneni- yah; n Stroki nachinayushchiesya s chisel (vozmozhno s pred- shestvuyushchimi probelami), sortiruyutsya po arifmeti- cheskomu znacheniyu. Klyuch "n" podrazumevaet usta- novku klyucha "b"; r Izmenit' poryadok sortirovki na obratnyj; tx "Simvolom tabulyacii", razdelyayushchim polya, yavlyaetsya simvol "x"; z Sortirovat' v sootvestvii s chislennym znacheniem bajtov. Zapis' "+poz1 -poz2" opredelyaet chast' stroki, kotoraya rassmatrivaetsya pri sortirovke. Sortirovka nachinaetsya s pozicii "poz1" i zakanchivayushchimsya pered poziciej "poz2". Kazhdyj iz parametrov "poz1" i "poz2" imeet vid "m.n", posle chego mogut sledovat' odin ili neskol'ko flagov bdfinr, prichem m oznachaet kolichestvo polej, ko- toroe dolzhno byt' propushcheno s nachala stroki, a n ozna- chaet kolichestvo simvolov, kotoroe dolzhno byt' propushche- no posle etogo. Esli prisutstvuyut kakie-libo flagi, oni otmenyayut global'nye klyuchi uporyadochivaniya dlya dannoj chasti stroki. Esli dejstvuet klyuch "b", "n" otschityvaetsya ot pervogo (otlichnogo ot probela) simvo- la polya; "b" dobavlyaetsya nezavisimo k "poz2". Otsutstvie ".n" oznachaet ".o", otsutstvie "poz2" ozna- 150 APK.00210-01 33 01-5 chaet konec stroki. Pri nalichii klyucha "-tx" polyami schi- tayutsya posledovatel'nosti simvolov, razdelyaemye simvo- lom "x", esli klyuch "-tx" ne zadan v kachestve polej rassmatrivayutsya posledovatel'nosti otlichnyh ot probelov simvolov, razdelennye probelami. Esli imeyutsya neskol'ko klyuchej sortirovki, posleduyushchie klyuchi sravnivayutsya tol'ko posle togo, kak predydushchie klyuchi okazalis' ravny. Stroki, kotorye pri sravnenii okazalis' ravny, uporyadochivayutsya s uchetom vseh bajtov. Raspoznayutsya takzhe sleduyushchie neobyazatel'nye parametry: c Proverit', yavlyaetsya li vhodnoj fajl otsortiro- vannym v sootvetstvii s zadannymi pravilami uporyadochivaniya; ne vydavat' rezul'tat, esli fajl ne otsortirovan; m Tol'ko sliyanie, vhodnye fajly uzhe otsortirovany; o Sleduyushchij parametr predstavlyaet soboj imya vyhod- nogo fajla, kotoryj dolzhen ispol'zovat'sya vmesto standartnogo fajla vyvoda. |tot fajl mozhet sov- padat' s odnim iz vhodnyh fajlov; T Sleduyushchij parametr predstavlyaet soboj imya spra- vochnika, v kotorom dolzhny sozdavat'sya vremennye fajly; u Iz kazhdoj gruppy odinakovyh strok ostavit' tol'ko odnu. Ignoriruemye bajty i bajty vne klyu- 151 APK.00210-01 33 01-5 chej ne uchastvuyut v sravnenii. PRIMERY: Vydat' v alfavitnom poryadke vse razlichnye slova v fajle "spisok". Slova s propisnymi bukvami otlichayutsya ot slov so strochnymi bukvami. sort -u +0f +0 spisok Vydat' soderzhimoe fajla /etc/passwd, otsortirovannoe po nomeram identifikatorov pol'zovatelej (tret'e iz razdelennyh dvoetochiyami polej): sort -t: +2n /etc/passwd Vydat' pervoe vhozhdenie kazhdogo mesyaca v uzhe otsorti- rovannom fajle (dates). Klyuchi "-um" s edinstvennym vhodnym fajlom obespechivayut vybor predstavitelya iz kazhdoj gruppy odinakovyh strok. sort -um +0 -1 dates DOPOLNITELXNYE SSYLKI : uni, comm, rev, join DIAGNOSTIKA: Vydaetsya soobshchenie i nenulevoj kod vozvrata pri raz- lichnyh oshibochnyh situaciyah i pri neuporyadochennosti, obnaruzhennoj pri nalichii klyucha "-c". ZAMECHANIYA: Slishkom dlinnye stroki usekayutsya bez preduprezhdeniya. 152 APK.00210-01 33 01-5 IMYA: split - razbit' fajl na chasti FORMAT: split [-n] [fajl [imya]] OPISANIE: Komanda split schityvaet "fajl" i razbivaet ego na fajly, soderzhashie po n strok ishodnogo fajla kazhdyj (po umolchaniyu - 1000). Esli ishodnyj fajl soderzhit chislo strok ne kratnoe n, poslednij rezul'tiruyushchij fajl mozhet byt' koroche. Imya pervogo vyhodnogo fajla predstavlyaet soboj "imya" s dobavkoj "aa", i tak dalee v leksikograficheskom poryadke. Esli vyhodnoe imya ne za- dano, po umolchaniyu prinimaetsya h. Esli vhodnoj fajl ne ukazan ili vmesto nego ukazyvaet- sya "-", ispol'zuetsya standartnyj fajl vvoda. 153 APK.00210-01 33 01-5 IMYA: st - vydat' na displej informaciyu o sostoyanii zadaniya OS ES. FORMAT: st [idvm] imya_zadaniya OPISANIE: Komanda st posylaet zapros OS ES cherez PDP dlya poluche- niya informacii o sostoyanii zadaniya, imya kotorogo uka- zano v parametre "imya_zadaniya". Virtual'naya mashina identificiruetsya parametrom "idvm", znachenie po umol- chaniyu complex1. Komanda ne snizhaet interaktivnosti raboty za schet togo, chto formiruet zapros k PDP v fonovom rezhime, ko- toryj v svoyu ochered' ozhidaet obratnoj svyazi v techenii minuty. Esli za eto vremya otveta iz PDP ne postupaet, vydaetsya diagnosticheskoe soobshchenie i komandu st nuzhno povtorit' vnov'. FAJLY: /dev/smsg? 154 APK.00210-01 33 01-5 IMYA: strip - udalit' tablicu simvolov. FORMAT: strip imya ... OPISANIE: Komanda strip udalyaet tablicu simvolov i bity pereme- shcheniya, kotorye obychno prisoedinyayutsya k vyvodu as- semblera i redaktora svyazej. |to polezno dlya ekonomii mesta posle togo, kak programma byla otlazhena. Dejstvie komandy strip takoe zhe, kak ispol'zovanie klyucha "-s" v komande ld. DOPOLNITELXNYE SSYLKI : ld 155 APK.00210-01 33 01-5 IMYA: stty - ustanovit' rezhim raboty terminala. FORMAT: stty [rezhim ...] OPISANIE: Komanda stty ustanavlivaet opredelennye rezhimy vvo- da/vyvoda dlya terminala pol'zovatelya. Pri otsutstvii parametrov ona soobshchaet tekushchee sostoyanie rezhima. Komandoj ustanavlivayutsya sleduyushchie rezhimy: even razreshit' kontrol' po chetnosti; -even zablokirovat' kontrol' po chetnosti; odd razreshit' kontrol' po nechetnosti; -odd zablokirovat' kontrol' po nechetnosti; Dlya polnogo otklyucheniya nuzhno ukazat' "-even -odd". raw rezhim neposredstvennogo vvoda (net zaboya (kill), udaleniya (erase), preryvaniya (quit), konca pere- dachi (EOT); bit kontrolya po paritetu vozvrashchaet- sya nazad); -raw otmena rezhima neposredstvennogo vvoda; cbreak delat' kazhdyj simvol dostupnym read(2) po mere postupleniya; net zaboya (kill) i udaleniya (erase); 156 APK.00210-01 33 01-5 -cbreak delat' simvoly dostupnymi dlya read tol'ko posle polucheniya simvola novoj stroki; -crmod stroki na ekrane zakanchivayutsya tol'ko simvolami novoj stroki; crmod dopuskaetsya upotreblenie simvola vozvrata karet- ki (CR) vmesto simvola novoj stroki (NL); vmesto vozvrata karetki ili novoj stroki vyvodyatsya sim- voly vozvrat karetki - perevod stroki (CR-NL); echo otobrazhat' v eho-rezhime vvodimyj simvol; -echo ne otobrazhat' simvoly v eho-rezhime; lcase preobrazovyvat' simvoly verhnego registra v sim- voly nizhnego registra; -lcase ne vypolnyat' preobrazovaniya registra simvolov; -tabs zamenyat' pri pechati simvoly tabulyacii probelami; tabs sohranyat' simvoly tabulyacii; cyrill terminal imeet russkie simvoly; -cyrill terminal ne imeet russkih simvolov; 157 APK.00210-01 33 01-5 icyrill rezhim raboty klaviatury (russkij/latinskij) us- tanavlivaetsya ot samoj klaviatury (|lektronika 15 I| 0013, klaviatura v "testovom" rezhime); -icyrill rezhim raboty klaviatury (russkij/latinskij) us- tanavlivaetsya ot linii (|lektronika 15 I| 0013, klaviatura v "normal'nom" rezhime); Klaviaturu rekomenduetsya pereklyuchat' v "testovyj" rezhim. dec ustanovit' simvoly zaboya, udaleniya i preryvaniya v stile OS RSX-11, RT-11: ("zaboj", <control>u, <control>c). ek to zhe, chto "dec". unix ustanovit' simvoly zaboya, udaleniya i preryvaniya v stile OS UNIX: ("#", "@", <zaboj>). Simvolom "quit" ustanavlivaetsya <control> . erase c rassmatrivat' simvol c kak simvol unichtozheniya. Simvol unichtozheniya mozhet takzhe imet' vid ^x, chto analogichno <ctrl>x; kill c rassmatrivat' simvol c kak simvol zaboya stroki. Zdes' takzhe dejstvitel'na forma ^h; intr c 158 APK.00210-01 33 01-5 rassmatrivat' simvol c kak simvol preryvaniya "interrupt". Zdes' takzhe dejstvitel'na forma ^h; quit c rassmatrivat' simvol c kak simvol preryvaniya s sozdaniem obraza pamyati "core". Zdes' takzhe dej- stvitel'na forma ^h; nl cr ht vt n ustanovit' zaderzhku sootvetstvuyushchego dvizheniya kursora na n tikov; width n ustanovit' shirinu stranicy (dlinu stroki) v n simvolov dlya avtomaticheskogo perenosa stroki; lengh n ustanovit' dlinu stranicy v n strok, tak chtoby vyvod byl postranichnym; esli zadano length 0, delenie na stranicy prekrashchaetsya; score stiranie simvolov s ekrana pri zaboe (kill) i udalenii (erase); -score otmena rezhima score; indctl vydavat' control-simvoly v eho-rezhime, kak ^<char + 0141>; 159 APK.00210-01 33 01-5 -indctl otmena rezhima indctl; hup prekrashchaet peredachu dannyh po telefonnomu kanalu svyazi pri zavershenii seansa; -hup ne prekrashchaet peredachu dannyh po telefonnomu ka- nalu svyazi pri zavershenii seansa; 0 nemedlenno prekrashchaet telefonnuyu svyaz'; extb speed ustanavlivaet skorost' linii svyazi s terminalom v bodah ravnuyu "speed". Argument "speed" mozhet prinimat' znacheniya: 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600 (dannye sko- rosti podderzhivayutsya interfejsami dh i dz); cro cr1 cr2 cr3 vybiraet vremya zaderzhki dlya vozvrata karetki; nl0 ln1 nl2 nl3 vybiraet vremya zaderzhki dlya podachi na stroku. DOPOLNITELXNYE SSYLKI : tty, ioctl, tabs. 160 APK.00210-01 33 01-5 IMYA: su - vremenno zamenit' identifikator pol'zovatelya. FORMAT: su [identifikator_pol'zovatelya] OPISANIE: Komanda su porozhdaet novyj process interpretatora ko- mandnogo yazyka s novym znacheniem identifikatora pol'- zovatelya. Esli u pol'zovatelya s zakazannym identifika- torom sushchestvuet parol', on zaprashivaetsya i komanda vypolnyaetsya tol'ko v sluchae udachnogo otveta. Novyj identifikator pol'zovatelya ispol'zuetsya poka ne okon- chen seans raboty s porozhdennym interpretatorom komand. Esli identifikator pol'zovatelya v komande su ne uka- zan, to ispol'zuetsya identifikator super-pol'zovatelya (root). Dlya togo, chtoby kak-to vydelit' rabotu v pri- velegirovannom rezhime, sh menyaet podskazku na "#". DOPOLNITELXNYE SSYLKI : sh 161 APK.00210-01 33 01-5 IMYA: sum - kontrol'naya summa i chislo blokov fajla FORMAT: sum file ... OPISANIE: Sum vychislyaet i vydaet 16-bitovuyu kontrol'nuyu summu i razmer v blokah dlya zadannyh fajlov. |ta komanda obych- no ispol'zuetsya dlya obnaruzheniya nevernyh mest ili op- redeleniya dostovernosti fajla, peredavaemogo po linii peredachi. DOPOLNITELXNYE SSYLKI : wc DIAGNOSTIKA: read error Oshibka chteniya. Pri rabote so special'nymi fajla- mi mozhet vydavat'sya pri dostizhenij konca fajla (naprimer, pri popytke chteniya bloka, nesushchestvu- yushchego dlya dannogo tipa diska). V etom sluchae, poyavleniya podobnoj diagnostiki ne yavlyaetsya sig- nalom o neuspeshnom zavershenii komandy. 162 APK.00210-01 33 01-5 IMYA: svc - vydat' chislo sistemnyh vyzovov. FORMAT: svs programma [argumenty] OPISANIE: svc vypolnyaet programmu "programma" s argumentami "ar- gumenty" i vydaet vremya nachala raboty kazhdogo sistem- nogo vyzova. Rezul'tat zapisyvaetsya v standartnyj fajl oshibok, dlya togo, chtoby ego mozhno bylo prosmotret' posle okonchaniya ppogpammy. Programma time soobshchaet pol'zovatel'skoe vremya i vremya sistemy, zatrachennoe na vypolnenie programmy. Komanda svc daet bolee polnoe predstavlenie o tom, na chto eto vpemya bylo potpacheno. Komanda mon ispol'zuetsya dlya po- lucheniya bolee polnoj informacii o vremeni pol'zovate- lya. 163 APK.00210-01 33 01-5 IMYA: sysname - vydat' imya yadra sistemy. FORMAT: sysname OPISANIE: Komanda sysname pechataet imya aktivnogo yadra sistemy DEMOS. DOPOLNITELXNYE SSYLKI: ipl 164 APK.00210-01 33 01-5 IMYA: tail - vydacha chasti fajla FORMAT: tail [+-chislo[lbc]] [fajl] OPISANIE: Komanda tail vydaet ukazannyj fajl v standartnyj fajl vyvoda, nachinaya s zadannogo mesta. Esli ne ukazano imya fajla, ispol'zuetsya standartnyj fajl vvoda. Kopirovanie nachinaetsya s tochki, nahodyashchejsya na rasto- yanii "+chislo" ot nachala ili "-chislo" ot konca vvoda. "CHislo" vyrazhaetsya v edinicah strok, blokov ili simvo- lov v sootvetstvii s zadannymi parametrami "l", "b" ili "c". Esli edinicy ne ukazany, otschet vedetsya v strokah. DOPOLNITELXNYE SSYLKI : dd ZAMECHANIYA: Ostavshiesya chasti fajlov, otschityvayushchiesya ot konca fajla, hranyatsya v bufere i poetomu ogranicheny v dline. Razlichnye oshibki mogut proishodit' pri rabote so spe- cial'nymi fajlami. 165 APK.00210-01 33 01-5 IMYA: tape - zakreplenie i osvobozhdenie magnitnyh lent FORMAT: tape [-muwq] [-nl] [-blp] [-sl nomer_fajla] [-d plotnost'] [-c ko- mandnaya_stroka] serijnyj_nomer OPISANIE: Komanda ispol'zuetsya dlya peredachi harakteristik lenty, ispol'zuemoj v obmene dannymi. Operacii vvoda-vyvoda modeliruyutsya fajlami nakopleniya, kuda predvaritel'no postutayut dannye, schitannye s lenty drajverom ustroj- stva ili v ozhidanii osvobozhdeniya drajvera dlya zapisi na lentu. opcii komandy: -m smontirovat' lentu. Dejstvie rezhima po umolcha- niyu, esli otsutstvuet opciya -u; -u demontirovat' lentu. Rezhim otmenyaet zapros mon- tirovaniya, esli lenta eshche ne smontirovana. Opciya ne sovmestima so vsemi ostal'nymi; -w smontirovat' lentu dlya zapisi. Otsutstvie opcii montiruet lentu tol'ko v rezhime chteniya; -q opciya vyklyuchaet rezhim uvedomleniya raspredeleniem ustrojstv; -nl dolzhna ispol'zovat'sya lenta bez metok. Lenty s 166 APK.00210-01 33 01-5 metkami budut razgruzhat'sya; -blp opciya zadaet rezhim obhoda obrabotki metok na lente. Metki lenty rassmatrivayutsya kak sobstven- no fajly; -sl lenta dolzhna imet' standartnye metki v formate OS ES, "nomer_fajla" ukazyvaet nomer fajla na lente; -d ustanavlivaet plotnost' zapisi na lentu. Po umolchaniyu 63 zn/mm; -c vypolnit' komandu DEMOS, zapisannuyu vmesto para- metra "komandnaya-stroka" Komanda vypolnyaetsya v fonovom rezhime. Prisutstvie simvol'noj posledo- vatel'nosti %s v komandnoj stroke vyzyvaet ee zamenu serijnym nomerom lenty "serijnyj-nomer" Naprimer tape -m-c"cat %s>blot" GLOP84 komanda kopiruet lentu GLOP84 v fajl blot. ZAMECHANIYA: Lentochnyj cledyashchij ppocecc i drajver ustrojstva pod- derzhivayut obrabotku metok lent, tem samym predotvrashcha- etsya porcha lent. Rezhimy obrabotki metok -nl, -sl, -blp opisyvayut harakteristiku lenty na vhode. Rezhim -nl otnositsya k lentam, ne soderzhashchim metki fajlov i serijnyj nomer toma. Rezhim -sl harakterizuet lentu s serijnym nomerom toma 167 APK.00210-01 33 01-5 v pervoj zapisi i metkami dlya lentochnyh fajlov. Rezhim -blp ustanavlivaet obrabotku s vyklyuchennoj obra- botkoj metok lenty. Metki lenty rassmatrivayutsya kak sobstvenno fajly. FAJLY: /usr/spool/out/t* spool fajla lenty /usr/spool/out/.spoolpid identifikator processa spool /dev/tape/?????? zakreplenie ustrojstva dlya pol'zovatelya /dev/mt? zakreplenie ustrojstva dlya sistemy /dev/tape/lock18 DOPOLNITELXNYE SSYLKI: opr, vmpunch, label, spooler, tm 168 APK.00210-01 33 01-5 IMYA: tar - vedenie arhiva na magnitnyh lentah FORMAT: tar klyuch [imya ...] OPISANIE: S pomoshch'yu komandy tar sohranyayutsya i vosstanavlivayutsya fajly v arhive na magnitnoj lente. Rezhim raboty koman- dy opredelyaetsya s pomoshch'yu argumenta "klyuch". "Klyuch" predstavlyaet soboj odin iz priznakov operacii (r,x,t,u ili c), i vozmozhno, odin ili bolee klyuchej- modifikatorov. Ostal'nymi argumentami komandy yavlyayutsya imena fajlov ili katalogov, kotorye dolzhny byt' sohra- neny ili vosstanovleny. Tar vypolnyaet sleduyushchie operacii: r Perechislennye fajly dozapisyvayutsya v arhiv na lente. Zapis' vedetsya v konec arhiva; h Perechislennye fajly schityvayutsya s lenty. Esli zadano imya kataloga, soderzhimoe kotorogo bylo zapisano na lentu, schityvayutsya fajly iz etogo kataloga (nachinayushchiesya s ukazannogo imeni). Vla- delec i status fajlov vosstanavlivayutsya (esli eto vozmozhno). Esli ne zadaetsya ni odnogo argu- menta "imya", vosstanavlivayutsya vse fajly s lenty. Esli na lente imeetsya neskol'ko imen, specificiruyushchih tot zhe samyj fajl, to schityvayut- 169 APK.00210-01 33 01-5 sya vse varianty fajla i ostaetsya poslednij;. t Vydayutsya imena ukazannyh fajlov kazhdyj raz, kogda oni poyavlyayutsya na lente. Esli argumenty "imya" ne zadany, vydayutsya imena vseh fajlov na lente; u Perechislennye fajly dozapisyvayutsya v arhiv na lente, esli ih tam ne bylo ili oni byli modifi- cirovany s momenta poslednej zapisi na lentu; c Sozdaet novyj arhiv na lente. Zapis' vedetsya s nachala, a ne v konec arhiva. Sleduyushchie simvoly modificiruyut zadannuyu operaciyu: 1,2 |tot modifikator zadaet lentoprotyazhnyj meha- nizm, na kotorom montiruetsya lenta (po umolcha- niyu 12, esli ne zadana peremennaya "TAPE"; is- pol'zuetsya imya iz peremennoj "TAPE", esli ono zadano. Peremennaya "TAPE" ispol'zuetsya dlya pe- redachi imeni lenty komandami "tar", "mt", "ardos" i zadaetsya v interpretatore "sh" tak (naprimer , lenta /dev/mt580): "TAPE=/dev/mt580; export TAPE"; v "csh" tak: "setenv TAPE /dev/mt580". Imya mozhno takzhe za- davat' klyuchom "f".); v Pri ispol'zovanii klyucha v komanda tar pechataet imya kazhdogo obrabatyvaemogo fajla i soot- vetstvuyushchuyu bukvu-funkciyu. V sluchae operacii 170 APK.00210-01 33 01-5 t, vydayutsya ne tol'ko imena fajlov na lente, no i drugaya informaciya;. w Zastavlyaet komandu tar pechatat' prinimaemoe k ispolneniyu dejstvie, a zatem zhdat' podtverzhde- niya pol'zovatelya. Vozmozhny sleduyushchie varianty otveta: "y" - vypolnit' dejstvie, "n" - pro- pustit' dejstvie, "=imya" - vypolnit' dejstvie bez zaprosa dlya vseh fajlov, imena kotoryh sovpadayut ili nachinayutsya s "imya", "#imya" - propuskayutsya fajly, imena kotoryh sovpadayut ili nachinayutsya s "imya";. f Zastavlyaet komandu tar ispol'zovat' sleduyushchij argument v kachestve imeni arhiva vmesto /dev/mt?. Esli imenem fajla sluzhit "-", tar pishet na standartnyj vyvod ili chitaet iz stan- dartnogo vvoda. Takim obrazom, mozhno ispol'zo- vat' tar kak nachalo ili okonchanie cepi fil'tra. Tar mozhno takzhe ispol'zovat' dlya pe- resylki ierarhicheskih struktur s pomoshch'yu ko- mandy cd from; tar cf - * | (cd to; tar xf -); b Zastavlyaet komandu tar ispol'zovat' sleduyushchij argument v kachestve koefficienta blokirovaniya