"sootvetstvie lyubomu simvolu vnutri skobok". Granicy posledovatel'nosti bukv i cifr mogut byt' sokrashcheny, takim obrazom vy mozhete vypolnit' tu zhe komandu, vvedya: lpr chap[1-49]* (Obratite vnimanie, chto eto sootvetstvuet ne 49 fajlam, a tol'ko pyati.) Bukvy takzhe mogut byt' ispol'zovany vnutri skobok: "[a-z]" sootvetstvuet lyubomu simvolu ot "a" do "z". Znak voprosa sootvetstvuet odnomu lyubomu simvolu, takim obrazom ls ? vyvodit vse fajly, ch'e imya sostoit iz odnogo simvola, a ls -l chap?.1 vyvodit informaciyu o pervom fajle kazhdoj glavy (t.e. chap1.1, chap2.1 ...). Esli vam neobhodimo izbezhat' ispol'zovaniya special'nogo znacheniya etih simvolov ( '*', '?' i [...]) - ekraniro- vat' ih -, zaklyuchite ves' argument v odinochnye kavychki. Naprimer, sleduyushchaya komanda napechataet tol'ko fajl s imenem "?", a ne vse fajly s odnosimvol'nymi imenami: ls '?' Kakim obrazom osushchestvlyaetsya proverka na sootvetstvie obrazcam, opisyvaetsya v glave 4 "Rukovodstva pol'zova- telya XENIX", "Interpretator komandnogo yazyka". - 17 - 3.4. Komandy Komandy ispol'zuyutsya dlya vyzova vypolnyaemyh programm. Kogda vy vveli imya komandy, XENIX schityvaet komandnuyu stroku, ishchet programmu s zadannym imenem, a zatem vypolnyaet ee, esli nahodit. Komandnye stroki takzhe mogut soderzhat' argumenty, kotorye ukazyvayut klyuchi ili fajly, kotorye mogut ponadobit'sya programme. Komandnaya stroka i sintaksis komandy opisany v sleduyushchih dvuh chastyah. 3.4.1. Komandnaya stroka Nezavisimo ot togo, vvodite li vy komandu s terminala, ili komandy schityvayutsya iz fajla, XENIX vsegda schity- vaet komandy iz komandnyh strok. Komandnaya stroka - eto stroka simvolov, kotoraya schityvaetsya interpretatorom komand dlya opredeleniya dejstviya, kotoroe neobhodimo vypolnit'. |tot interpretator komandnogo yazyka schity- vaet imena komand iz komandnoj stroki, nahodit vypolnya- emuyu programmu, sootvetstvuyushchuyu imeni komandy, a zatem vypolnyaet etu programmu. Posle okonchaniya vypolneniya programmy interpretator komand vozobnovlyaet chtenie komandnoj stroki. Takim obrazom, kogda vy vvodite na terminale komandu, vy redaktiruete tekstovuyu stroku, nazyvaemuyu buferom komandnoj stroki, kotoryj stanovitsya komandnoj strokoj tol'ko posle nazhatiya klavishi RETURN. |tot bufer komandnoj stroki mozhet redaktirovat'sya kla- vishami BKSP i Ctrl-u. Nazhatie RETURN vyzyvaet peredachu bufera komandnoj stroki interpretatoru komand. On schi- tyvaet komandnuyu stroku i vypolnyaet sootvetstvuyushchuyu komandu. Esli vy nazhmete klavishu INTERRUPT do togo, kak vy nazhali klavishu RETURN, bufer komandnoj stroki ochis- titsya. Mozhno vvesti neskol'ko komand v odnoj komandnoj stroke, pri uslovii, chto komandy budut razdeleny tochkoj s zapyatoj (';'). Naprimer, sleduyushchaya komandnaya stroka vyvodit tekushchuyu datu, a zatem imya tekushchego kataloga: date; pwd Komandy mogut byt' vvedeny dlya obrabotki v fonovom rezhime, dlya etogo neobhodimo dobavit' ampersand ('&') k komandnoj stroke. |tot rezhim vypolneniya podoben "paketnoj" obrabotke na drugih cistemah. Osnovnoe prei- mushchestvo vypolneniya komand v fonovom rezhime zaklyuchaetsya v tom, chto vy mozhete vypolnyat' drugie komandy vo vremya vypolneniya fonovyh. Takim obrazom du /usr>&gt;diskuse& opredelyaet, ne svyazyvayas' s vashim terminalom, kak ispol'zuetsya diskovoe prostranstvo v kataloge /usr, a eto operaciya, otnimayushchaya mnogo vremeni. Zamet'te, chto - 18 - vyvod pomeshchaetsya v fajl diskuse s perenapravleniem vyvoda pri pomoshchi znaka bol'she. Perenapravlenie opi- sano v razdele 3.6.1. 3.4.2. Format Obshchij format komand sleduyushchij: cmd [klyuchi][argumenty][fajl][...] Po soglasheniyu, imena komand predstavleny v nizhnem registre. Klyuchi opredelyayut dejstvie komandy pri vypol- nenii. Oni yavlyayutsya neobyazatel'nymi i obychno predshest- vuyut argumentam i imenam fajlov. Klyuchi sostoyat iz tire ('-') i identificiruyushchej bukvy. Naprimer, klyuch komandy ls -l (proiznositsya "minus el'") ustanavlivaet rezhim polnogo vyvoda kataloga, a komanda ls -r ustanavlivaet vyvod soderzhimogo kataloga v obratnom alfavitnom poryadke. V nekotoryh sluchayah klyuchi mogut gruppirovat'sya, formiruya odin klyuchevoj argument. Nap- rimer, komanda ls -rl predstavlyaet soboj kombinaciyu dvuh klyuchej, gde klyuch -rl ukazyvaet, chto dolzhen proizvoditsya polnyj vyvod soder- zhimogo kataloga v obratnom alfavitnom poryadke. Inogda neskol'ko klyuchej dolzhny zadavat'sya otdel'no, kak v sluchae: copy -a -v istochnik naznachenie gde klyuch -a ukazyvaet, chto komanda dolzhna trebovat' u pol'zovatelya podtverzhdeniya pri kopirovanii istochnika v naznachenie. Klyuch -v ustanavlivaet rezhim, pri kotorom pol'zovatelyu budet soobshchat'sya o hode kopirovaniya. Takzhe mogut byt' zadany drugie argumenty, naprimer, stroka dlya poiska, kak v sluchae: grep 'stroka teksta' vyhodnoj_fajl V primere vyshe 'stroka teksta' predstavlyaet soboj odin argument i yavlyaetsya strokoj, kotoruyu komanda grep ishchet v vyhodnom_fajle. Fajl preds- tavlyaet soboj argument, kotoryj ukazyvaet imya fajla, - 19 - nuzhnoe komande. Bol'shinstvo komand predstavlyayut soboj vypolnyaemye prog- rammy, skompilirovannye kompilyatorom yazyka C ili kakim-libo drugim kompilyatorom. Nekotorye komandy predstavlyayut soboj vypolnyaemye komandnye fajly, nazyva- emye "procedurami interpretatora komandnogo yazyka". Oni opisany v glave 4 Rukovodstva pol'zovatelya XENIX "Interpretator komandnogo yazyka". 3.5. Vvod i vyvod Po umolchaniyu, v sisteme XENIX podrazumevaetsya, chto vvod proishodit c klaviatury terminala, a vyvod idet na ekran terminala. CHtoby proillyustrirovat' tipichnuyu komandu vvoda i vyvoda, vvedite: cat |ta komanda ozhidaet vvoda s klaviatury. Ona prinimaet v kachestve vvoda stol'ko strok teksta, skol'ko vy nabe- rete do nazhatiya Ctrl-d dlya oboznacheniya konca fajla ili konca peredachi. Naprimer vvedite: eto dve stroki RETURN vvoda RETURN Ctrl-d Kogda vy nazhmete Ctrl-d, vvod zakonchitsya. Komanda cat srazu zhe vyvodit kazhduyu stroku posle ee vvoda. Tak kak vyvod peresylaetsya na ekran terminala po umolchaniyu, na ekran pereshlyutsya dve stroki. Takim obrazom polnyj seans budet vyglyadet' tak: $ cat eto dve stroki eto dve stroki vvoda vvoda Potoki vvoda i vyvoda komandy mogut byt' perenapravleny takim obrazom, chto vvod budet proishodit' iz fajla, a ne s klaviatury, i vyvod budet proizvodit'sya na printer ili v fajl, a ne na ekran. V dopolnenie, vy mozhete soz- dat' "konvejer" s pomoshch'yu mezhprocessnyh kanalov, chtoby vyvod odnoj komandy stal vvodom drugoj. Perenapravle- nie vvoda-vyvoda i mezhprocessnye kanaly opisany v sle- duyushchih dvuh podrazdelah. Esli vy ispol'zuete komandu cat dlya togo, chtoby pereslat' vvod v fajl ili mezhpro- cessnyj kanal, peresylka ne osushchestvitsya, poka vy ne vvedete Ctrl-d dlya oboznacheniya konca peredachi. - 20 - 3.5.1. Perenapravlenie V sisteme XENIX fajl mozhet zamenit' terminal kak pri osushchestvlenii operacij kak vvoda, tak i vyvoda. Napri- mer: ls vyvodit spisok fajlov na ekran vashego terminala. No esli vy vvedete ls > spisok_fajlov spisok vashih fajlov budet pomeshchen v fajl spisok_fajlov (kotoryj budet sozdan, esli do etogo on ne sushchestvo- val). Simvol, kotoryj oboznachaet perenapravlenie vyvoda, znak bol'she ('>&gt;'), oznachaet "pomestit' vyvod komandy v ukazannyj fajl, a ne vyvodit' na ekran termi- nala". V sleduyushchem primere perenapravleniya vyvoda vy mozhete ob容dinit' neskol'ko fajlov v odin, pomestiv vyvod komandy cat v fajl: cat f1 f2 f3 > temp Znak dobavleniya vyvoda ('>&gt;>&gt;'), delaet tozhe samoe, chto i znak perenapravleniya, za isklyucheniem togo, chto on oboz- nachaet "dobavit' k koncu". Takim obrazom: cat file1 file2 file3 > temp oznachaet "dobavit' file1, file2 i file3 k koncu fajla temp, vmesto togo, chtoby zapisat' novyj fajl, razrushaya sushchestvuyushchuyu v nem informaciyu". Kak i pri obyknovennom perenapravlenii vyvoda, esli fajl temp ne sushchestvoval, on budet sozdan. Analogichno, znak perenapravleniya vvoda ('<&lt;') oznachaet "vzyat' vvod dlya programmy iz ukazannogo fajla, vmesto terminala". Takim obrazom vy mozhete sozdat' posledova- tel'nost' komand redaktirovaniya i pomestit' ee v fajl s imenem script. Zatem vy mozhete vypolnit' eti komandy po otnosheniyu k fajlu nabrav: ed fajl < script Ili esli vy ispol'zovali redaktor dlya podgotovki pis'ma v fajle letter.txt, vy mozhete poslat' ego neskol'kim pol'zovatelyam komandoj: mail adam eve mary joe < letter.txt - 21 - 3.5.2. Mezhprocessnye kanaly Odnim iz osnovnyh novovvedenij sistemy XENIX yavlyaetsya koncepciya "mezhprocessnogo kanala". Mezhprocessnyj kanal - eto prosto sposob svyazyvaniya vyvoda odnoj komandy s vvodom drugoj, takim obrazom, chto obe oni rabotayut kak posledovatel'nost' komand, nazyvaemaya konvejerom. Naprimer: sort frank.txt george.txt hank.txt ob容dinyaet tri fajla s imenami frank.txt, george.txt i hank.txt, a zatem sortiruet vyvod. Predpolozhim, chto vy zatem hotite najti vse unikal'nye slova v etih fajlah i posmotret' rezul'tat. Dlya etogo vy mozhete vvesti: sort frank.txt george.txt hank.txt > temp1 uniq < temp1 > temp2 more temp2 rm temp1 temp2 Zdes' namnogo bol'she raboty, chem neobhodimo. ZHelaemyj rezul'tat mozhno poluchit', esli vzyat' vyvod komandy sort i podsoedinit' ego k vvodu uniq, zatem vzyat' vyvod uniq i podsoedinit' ego k more. Vy ispol'zuete sleduyushchij konvejer: sort frank.txt george.txt hank.txt | uniq | more Simvol vertikal'naya cherta ('|') ispol'zuetsya mezhdu komandami sort i uniq dlya oboznacheniya togo, chto vyvod programmy sort, kotoryj obychno posylaetsya na terminal, dolzhen byt' perenapravlen na standartnyj vvod komandy uniq, kotoryj v svoyu ochered' posylaet svoj vyvod komande more dlya prosmotra. Sushchestvuet mnogo drugih primerov mezhprocessnogo vzaimo- dejstviya. Naprimer, sleduyushchaya komanda formatiruet v tri stolbca i razbivaet na stranicy spisok vashih faj- lov: ls | pr -3 Programma wc schitaet kolichestvo strok, slov i simvolov v svoem vvode, a programma who vyvodit spisok pol'zova- telej, po odnomu na stroke, rabotayushchih v dannyj moment v sisteme. Takim obrazom, sleduyushchaya komanda soobshchit nam chislo pol'zovatelej, rabotayushchih v sisteme, podschityvaya chislo strok v vyvode komandy who: who | wc -l - 22 - Sleduyushchaya komanda podschityvaet chislo fajlov v tekushchem kataloge: ls | wc -l Obratite vnimanie na raznicu mezhdu vyvodom komand wc -l i wc. Po umolchaniyu, wc vyvodit kolichestvo strok, slov i simvolov v vvode. A wc s klyuchom -l vyvodit tol'ko kolichestvo strok. Lyubaya programma, kotoraya schityvaet s klaviatury termi- nala, vmesto etogo mozhet chitat' iz mezhprocessnogo kanala. Lyubaya programma, kotoraya vyvodit na ekran ter- minala, mozhet posylat' vyvod v mezhprocessnyj kanal. V konvejere mozhete byt' stol'ko elementov, skol'ko vy zahotite. 4. Zadachi 4.1. Vvedenie V etoj glave rasskazyvaetsya, kak mozhno reshat' obychnye zadachi s pomoshch'yu sistemy XENIX. Otdel'nye komandy, ispol'zuemye dlya resheniya takih zadach, opisany bolee podrobno v Spravochnom rukovodstve XENIX. 4.2. Poluchenie dostupa k sisteme Dlya togo, chtoby ispol'zovat' sistemu XENIX, v pervuyu ochered' vy dolzhny poluchit' k nej dostup. Dlya etogo vam nuzhno vojti v sistemu. Kogda vy voshli v sistemu, vy popadaete v sobstvennuyu rabochuyu oblast'. Process vhozh- deniya v sistemu, izmeneniya parolya i vyhoda iz sistemy, opisan nizhe. 4.2.1. Vhod v sistemu Pered tem, kak vy smozhete vojti v sistemu, vy dolzhny "zaregistrirovat'sya". Vashe imya dolzhno byt' dobavleno k spisku pol'zovatelej, a takzhe vam dolzhny prrisvoit' parol' i predostavit' pochtovyj yashchik. V zavisimosti ot rezhima administrirovaniya vashej sis- temy, vozmozhno, vam samim neobhodimo budet dobavit' svoe imya k spisku pol'zovatelej, libo eta zadacha budet vozlozhena na kogo-libo eshche. Esli vy sami dolzhny zare- gistrirovat'sya v sisteme, dlya polucheniya dopolnitel'noj informacii obratites' k Rukovodstvu operatora i k raz- delu mkuser(C) v Spravochnom rukovodstve po sisteme XENIX. V nastoyashchem razdele podrazumevaetsya, chto vasha - 23 - uchetnaya struktura v sisteme uzhe sozdana. Obychno, kogda s sistemoj ne rabotayut, na ekrane vysve- cheno priglashenie "login:". Esli vash ekran pust ili vyvodit bessmyslennye simvoly, nazhmite neskol'ko raz klavishu INTERRUPT. Kogda poyavitsya priglashenie "login:", vypolnite sleduyu- shchuyu posledovatel'nost' shagov: 1. Vvedite vashe registracionnoe imya i nazhmite RETURN. Esli vy oshiblis', nazhmite Ctrl-u i vvedite imya zanovo. Posle togo, kak vy nazhali RETURN, na ekrane poyavitsya slovo "Password:". 2. Ochen' vnimatel'no vvedite svoj parol', posle chego nazhmite RETURN. Bukvy ne budut otobrazhat'sya na ekrane vo vremy vvoda, a kursor ne budet dvi- gat'sya. Esli vy oshiblis', nazhmite RETURN i povto- rite vsyu proceduru vhoda v sistemu zanovo. Esli vy vveli registracionnoe imya i parol' pravil'no, na ekrane poyavitsya "simvol-priglashenie". Obychno eto znak denezhnoj edinicy ('$'). On govorit o tom, chto sis- tema XENIX gotova prinimat' komandy s klaviatury. Esli vy oshiblis', sistema vyvedet soobshchenie: Login incorrect login: Esli vy poluchili takoe soobshchenie, povtorite opisannuyu vyshe proceduru. CHtoby poluchit' dostup k sisteme, vy dolzhny pravil'no vvesti registracionnoe imya i parol'; sistema ne pozvolyaet ispravlyat' oshibki pri vvode parolya. V zavisimosti ot togo, kak nastroena vasha sistema, posle vhoda vy mozhete uvidet' soobshchenie, vyvodimoe pri vhode v sistemu, kotoroe glasit chto-nibud' tipa: "Dobro pozhalovat' v sistemu XENIX", ili ob座avlenie, predstav- lyayushchee interes dlya vseh pol'zovatelej. 4.2.2. Vyhod iz sistemy Procedura vyhoda dovol'no prosta, vam neobhodimo tol'ko nazhat' Ctrl-d v nachale stroki. V obshchem sluchae, v sisteme XENIX Ctrl-d oboznachaet konec fajla, i dovol'no chasto ispol'zuetsya v - 24 - programmah dlya oboznacheniya konca vvoda s klaviatury. V etih sluchayah Ctrl-d ne vyvedet vas iz sistemy; prosto zakonchitsya vvod v otdel'nuyu programmu, esli vy nahodi- lis' v nej. |to znachit, chto inogda vam pridetsya nes- kol'ko raz nazhat' Ctrl-d dlya togo, chtoby vyjti iz sis- temy. Naprimer, esli vy nahodites' v programme mail, vy odin raz dolzhny nazhat' Ctrl-d dlya togo, chtoby vyjti iz etoj programmy, i eshche raz dlya togo, chtoby vyjti iz sistemy. 4.2.3. Izmenenie parolya Dlya togo, chtoby predotvratit' nesankcionirovannyj dos- tup k sisteme pol'zovatelej, kazhdyj zaregistrirovannyj pol'zovatel' dolzhen imet' svoj parol'. Kogda dlya vas vpervye v sisteme sozdaetsya uchetnaya struktura, parol' vam prisvaivaetsya sistemnym administratorom. Nekotorye sistemy XENIX trebuyut, chtoby vy menyali svoj parol' regulyarno cherez nekotorye intervaly vremeni. Nezavisimo ot togo, potrebuyut etogo ot vas ili net, neploho by menyat' svoj parol' dlya podderzhaniya bezopasnosti sis- temy. V etom razdele rasskazyvaetsya, kak menyat' parol'. Dlya izmeneniya parolya ispol'zujte komandu passwd. Dlya etogo: 1 Vvedite: passwd i nazhmite RETURN. Poyavitsya sleduyushchee soobshchenie: Changing password for pol'zovatel' Old password: 2 Vnimatel'no vvedite vash staryj parol'. On ne otob- razhaetsya na ekrane. Esli vy oshiblis', nazhmite RETURN. Poyavitsya soobshchenie "Sorry", a zatem sis- temnoe priglashenie. Nachnite snova s shaga 1. 3 Posle togo, kak vy vvedete vash staryj parol', poya- vitsya soobshchenie: New password: Vvedite vash novyj parol' i nazhmite RETURN. 4 Poyavitsya soobshchenie: Re-enter new password: Vvedite vash novyj parol' snova. Esli vy oshiblis', - 25 - nazhmite RETURN. Togda poyavitsya soobshchenie: They don't match; try again i vy dolzhny nachat' snova s shaga 1. Kogda vy vse sdelaete pravil'no, poyavitsya sistemnoe prigrashe- nie. 4.3. Ustanovka konfiguracii vashego terminala V bol'shinstve sistem konfiguraciya osnovnogo monitora uzhe nastroena na rabotu s XENIX. Odnako k sisteme XENIX mogut byt' podsoedineny drugie terminaly razlichnyh tipov. V etih sluchayah vazhno znat', kak ustanovit' para- metry terminala, i kak ukazat', s kakim terminalom vy rabotaete. Takzhe vy, vozmozhno, zahotite izmenit' stan- dartnuyu konfiguraciyu monitora. V sleduyushchem razdele obsuzhdayutsya eti temy. 4.3.1. Smena terminala Kazhdyj raz, kogda vy vhodite v sistemu, vyvoditsya tip vashego terminala. Esli vam kogda-nibud' ponadobitsya vojti v sistemu na terminale drugogo tipa, otlichnogo ot togo, kotoryj vy obychno ispol'zuete, vam, vozmozhno, potrebuetsya izmenit' okruzhenie. Dlya etogo vam neobho- dimo otredaktirovat' fajl .profile v vashem registraci- onnom kataloge. CHtoby eto sdelat', s pomoshch'yu tekstovogo redaktora najdite stroku tset, kotoraya vyglyadit pri- merno tak: eval 'tset -m :\?unknown -s -r -Q' Izmenite slovo unknown (neizvestnyj) na tip vashego ter- minala. Naprimer, esli vy obychno vhodite v sistemu s terminala vt100, stroka budet vyglyadet' tak: eval 'tset -m :\?vt100 -s -r -Q' Teper' kazhdyj raz pri vhode v sistemu vam budet vyvo- dit'sya soobshchenie: TERM = (vt100) Nazhmite RETURN, i vt100 budet ustanovlen v kachestve tipa vashego terminala, ili vvedite drugoj tip terminala i nazhmite RETURN. - 26 - 4.3.2. Ustanovka parametrov terminala Sushchestvuet neskol'ko parametrov terminala, kotorye mogut byt' ustanovleny komandoj stty. Pri vyzove etoj komandy bez klyuchej ona vyvodit tekushchie ustanovlennye parametry. Naprimer, tipichnyj vyvod mozhet vyglyadet' tak: speed 9600 baud erase '^h' ; kill '^u' even -nl Kazhdaya iz vysheperechislennyh harakteristik terminala mozhet byt' ustanovlena komandoj stty. Dlya polucheniya dopolnitel'noj informacii smotrite stty(C) v Spravochnom rukovodstve XENIX. 4.4. Redaktirovanie komandnoj stroki Kogda vy sidite pered terminalom i vvodite komandy s klaviatury, vy mozhete ispol'zovat' nekotorye special'- nye klavishi. Naibolee poleznye iz nih opisany nizhe. 4.4.1. Vvod komandnoj stroki Vvod komandnoj stroki s vashego terminala zaklyuchaetsya v nabore simvolov i nazhatii klavishi RETURN. Posle nazhatiya RETURN komp'yuter chitaet komandnuyu stroku i vypolnyaet ukazannye v nej komandy. Vy mozhete vvesti stol'ko komandnyh strok, skol'ko vy hotite, ne ozhidaya okonchaniya vypolneniya komand, tak kak sistema XENIX podderzhivaet vvod simvolov s operezheniem. 4.4.2. Udalenie komandnoj stroki Pri vvode komand neizbezhno poyavlenie oshibok pri nabore (opechatok). CHtoby udalit' tekushchuyu komandnuyu stroku, nazhmite Ctrl-u. 4.4.3. Priostanovka vyvoda na ekran Vo mnogih sluchayah vy budete prosmatrivat' soderzhimoe fajla na ekrane terminala. Soderzhimoe dlinnyh fajlov vyvoditsya gorazdo bystree, chem vy mozhete chitat'. Dlya vremennoj priostanovki vyvoda programmy na ekran termi- nala nazhmite Ctrl-s. Dlya prodolzheniya vyvoda nazhmite Ctrl-q. - 27 - 4.5. Rabota s fajlami Rabota s fajlami (sozdanie, ob容dinenie, vyvod soderzhi- mogo, kopirovanie, peremeshchenie, prisvoenie imeni i uda- lenie fajlov) yavlyaetsya odnoj iz naibolee vazhnyh vozmozh- nostej, kotorye predostavlyaet operacionnaya sistema. V nizhesleduyushchem razdele opisyvayutsya komandy, kotorye rea- lizuyut eti funkcii. 4.5.1. Sozdanie fajla CHtoby sozdat' fajl i pomestit' v nego tekst, ispol'- zujte redaktor vi, kotoryj opisan v glave 2 Rukovodstva pol'zovatelya XENIX, "vi: tekstovyj redaktor". Esli po kakim-libo prichinam vy zahotite sozdat' pustoj fajl, vvedite: > imya_fajla gde imya_fajla - eto imya pustogo fajla. V obshchem sluchae, novye fajly sozdayutsya komandami po mere neobhodimosti. 4.5.2. Vyvod soderzhimogo fajla Komanda more osushchestvlyaet vyvod soderzhimogo fajla poek- ranno. Format komandy sleduyushchij: more klyuchi imya_fajla more polezno ispol'zovat', esli vy hotite tol'ko pos- motret' fajl, ne vnosya izmenenij. Naprimer, chtoby vyvesti soderzhimoe fajla memos, vvedite: more memos more mozhet byt' vyzvana s klyuchami, kotorye ustanavli- vayut rezhim vyvoda fajla i mesto, s kotorogo nado nachat' vyvod. Vot nekotorye klyuchi: +nomer_stroki Nachinaet vyvod so stroki, opredelennoj argumentom nomer_stroki. +/tekst Nachinaet vyvod za dve stroki do teksta, gde tekst - eto slovo ili chislo. Esli tekst sostoit iz dvuh ili bolee slov, ih neobhodimo zaklyuchit' v dvojnye kavychki. -c Pererisovyvaet ekran vmesto ego prokrutki. - 28 - -r Vyvodit upravlyayushchie simvoly, kotorye obychno igno- riruyutsya. Naprimer, chtoby nachat' prosmotr fajla memo s mesta, gde vpervye vstrechayutsya slova "net gain", vvedite: more +/"net gain" Esli fajl ne vlezaet na odin ekran, v nizhnej stroke vyvoditsya procentnoe otnoshenie ostavshejsya chasti. Dlya prosmotra ostavshejsya chasti fajla ispol'zujte komandy prokrutki: RETURN Promotat' vpered na odnu stroku. d Promotat' vpered na polovinu ekrana. PROBEL Promotat' vpered na polnyj ekran. nPROBEL Promotat' vpered na n strok. . Povtorit' predydushchuyu komandu. Vy ne mozhete prosmatrivat' fajl v obratnom napravlenii, k nachalu fajla. Vy mozhete osushchestvit' poisk vpered po obrazcu s pomoshch'yu komandy /. Naprimer, esli vy hotite najti obrazec "net gain", vve- dite: /net gain/ i nazhmite RETURN. more vyvedet soobshchenie: ...skipping v verhnej chasti ekrana, a zatem promotaet do mesta, raspolozhennogo za dve stroki ot najdennoj posledova- tel'nosti simvolov "net gain". Esli vo vremya prosmotra fajla komandoj more vy reshite, chto hotite izmenit' ego, vy mozhete vyzvat' redaktor vi, nazhav: v Smotri glavu 2 "vi: tekstovyj redaktor" Rukovodstva pol'zovatelya XENIX dlya polucheniya informacii o rabote s - 29 - vi. more zakanchivaet rabotu avtomaticheski, pri dostizhenii konca fajla. Esli vy hotite vyjti iz etoj programmy ran'she, vvedite: q Komandy head i tail vyvodyat, sootvetstvenno, pervye i poslednie desyat' strok fajla. Oni polezny dlya proverki soderzhimogo otdel'nogo fajla. Naprimer, chtoby posmotret' pervye desyat' strok fajla memo, vvedite: head memo Vy mozhete opredelit' kolichestvo strok, vyvodimyh koman- dami head i tail. Naprimer: tail -4 memo vyvodit poslednie chetyre stroki fajla memo. Komanda cat takzhe vyvodit soderzhimoe fajla. Vyvod pro- ishodit do teh por, poka vy ne nazhmete Ctrl-s, chtoby ostanovit' ego. Nazhav Ctrl-q, vy mozhete prodolzhit' prosmotr. Programma zakanchivaet rabotu avtomaticheski pri dostizhenii konca fajla. Esli vy hotite zakonchit' ran'she, nazhmite INTERRUPT. CHtoby vyvesti soderzhimoe odnogo fajla, vvedite: cat file1 CHtoby vyvesti soderzhimoe neskol'kih fajlov, vvedite: cat file1 file2 file3 4.5.3. Ob容dinenie fajlov Komanda cat chasto ispol'zuetsya dlya ob容dineniya neskol'- kih fajlov v odin. Dlya togo, chtoby ob容dinit' dva fajla s imenami file1 i file2 v novyj fajl s imenem bigfile, vvedite: cat file1 file2 >bigfile Zamet'te, chto zdes' my zapisyvaem soderzhimoe dvuh faj- lov v novyj fajl s imenem bigfile. Znak bol'she ('>&gt;') ispol'zuetsya dlya perenapravleniya vyvoda komandy cat v novyj fajl. - 30 - Vy takzhe mozhete ispol'zovat' komandu cat dlya dobavleniya odnogo fajla k koncu drugogo. Naprimer, chtoby dobavit' file1 k file2, vvedite: cat file1 >> file2 Soderzhimoe file1 dobavitsya k file2. file1 tem ne menee ostaetsya kak otdel'nyj fajl. 4.5.4. Peremeshchenie fajlov Komanda mv peremeshchaet odin fajl v drugoj v tom zhe ili drugom kataloge. Naprimer, chtoby peremestit' odin fajl, s imenem tekst, v drugoj, s imenem kniga, vvedite: mv tekst kniga Posle zaversheniya operacii v rabochem kataloge ne budet sushchestvovat' fajla s imenem tekst, tak kak on budet pereimenovan v kniga. CHtoby peremestit' fajl v drugoj katalog, v kachestve poslednego argumenta komandy mv zadajte imya kataloga naznacheniya. Naprimer, dlya togo chtoby peremestit' fajly file1 i file2 v katalog /tmp, vvedite: mv file1 file2 /tmp V vashem rabochem kataloge teper' ne sushchestvuet etih dvuh fajlov, oni raspolozheny v kataloge /tmp. Vysheukazannaya komanda delaet to zhe samoe, chto i posledovatel'nost' iz dvuh sleduyushchih komand: mv file1 /tmp mv file2 /tmp Komanda mv vsegda proveryaet, ne yavlyaetsya li poslednij argument imenem kataloga, i esli eto tak, vse fajly, zadannye drugimi argumentami peremeshchayutsya v etot kata- log. 4.5.5. Pereimenovanie fajla CHtoby pereimenovat' fajl, nado prosto "peremestit'" ego v fajl s novym imenem: staroe imya fajla budet udaleno. Takim obrazom, dlya togo, chtoby pereimenovat' fajl s imenem anon v johndoe, vvedite: mv anon johndoe - 31 - Zamet'te, chto peremeshchenie i pereimenovanie fajlov predstavlyayut soboj po suti odinakovye operacii. 4.5.6. Kopirovanie fajla Sushchestvuet dva vida komandy cp: v odnom sluchae fajly kopiruyutsya v katalog, a v drugom sluchae fajl kopiruetsya v drugoj fajl. Takim obrazom, chtoby skopirovat' tri fajla v katalog s imenem filer, vvedite: cp file1 file2 file3 filer V vysheukazannoj komande tri fajla kopiruyutsya v katalog filer; pri etom ishodnye fajly ostayutsya v rabochem kata- loge. Zamet'te, chto imena odinakovy v dvuh katalogah. Kak i komanda mv, cp vsegda proveryaet, ne yavlyaetsya li poslednij argument imenem kataloga, i esli eto tak, vse fajly, zadannye drugimi argumentami, kopiruyutsya v etot katalog. CHtoby sozdat' dve kopii fajla v vashem rabochem kataloge, vy dolzhny izmenit' imya odnoj kopii. Dlya togo, chtoby sdelat' eto, vy mozhete vyzvat' komandu kopirovaniya sle- duyushchim obrazom: cp file filecopy Posle vypolneniya vysheprivedennoj komandy v rabochem kataloge budet sushchestvovat' dva raznyh fajla s odinako- vym soderzhaniem. Nauchit'sya kopirovat' fajly mozhno s pomoshch'yu razdela 4.6.7, "Kopirovanie kataloga", iz etoj glavy. 4.5.7. Udalenie fajla CHtoby steret' ili udalit' fajly, vvedite: rm file1 file2 |toj komandoj fajly file1 i file2 udalyayutsya iz rabochego kataloga. Komanda: rm -i file1 file2 pozvolyaet vam udalyat' fajly v dialogovom rezhime, zapra- shivaya, dejstvitel'no li vy hotite udalit' kazhdyj iz fajlov file1 i file2. Esli vy nazhmete y, a zatem RETURN, dannyj fajl budet udalen; esli vy nazhmete n, fajl ostanetsya netronutym. |ta komanda polezna pri chistke kataloga, kotoryj soderzhit mnogo fajlov. - 32 - 4.5.8. Poisk fajlov Komanda find proizvodit poisk fajlov s zadannymi ime- nami. Komanda polezna dlya nahozhdeniya mestopolozheniya fajlov s odinakovymi imenami, ili dlya nahozhdeniya fajla, esli vy zabyli katalog, v kotorom on nahoditsya. Komanda imeet sleduyushchij format: find imya_kataloga -name imya_fajla -print gde imya_kataloga - eto imya kataloga, v kotorom vy hotite iskat'. find osushchestvlyaet poisk rekursivno, nachinaya s ukazannogo kataloga, prosmatrivaya vse fajly i podkatalogi kataloga, zadannogo imenem_kataloga. Klyuch -name oznachaet, chto vy ishchete fajly s ukazannymi imenami_fajlov. (Sushchestvuet neskol'ko drugih rezhimov poiska komandoj find, smotri find(C) v Spravochnom ruko- vodstve po sisteme XENIX.) imya_fajla - eto imya fajla, kotoryj vy hotite najti. Klyuch -print oznachaet, chto vy hotite vyvesti na ekran vashego terminala polnye imena fajlov, kotorye soot- vetstvuyut ukazannomu imeni_fajla. Vy mozhete perenapra- vit' etot vyvod v fajl, ispol'zuya simvol perenapravle- niya ('>&gt;'). (Sushchestvuet eshche neskol'ko operacij, kotorye vy mozhete osushchestvlyat' komandoj find, naprimer udalenie i peremeshchenie fajlov; smotri find(C) v Spravochnom ruko- vodstve XENIX.) Naprimer, sleduyushchaya komanda najdet vse fajly s imenem memo v kataloge /usr/joe i vseh ego pod- katalogah: find /usr/joe -name memo -print Vyvod, k primeru, mog by vyglyadet' tak: /usr/joe/memo /usr/joe/accounts/memo /usr/joe/meetings/memo /usr/joe/mail/memo 4.5.9. Svyazyvanie odnogo fajla s drugim (fajly- ssylki) Komanda ln ob容dinyaet dva fajla v razlichnyh katalogah takim obrazom, chto kogda v odnom kataloge fajl menya- etsya, on takzhe menyaetsya i v drugom. |to mozhet byt' polezno, esli neskol'kim pol'zovatelyam nado razdelyat' informaciyu, ili esli vy hotite, chtoby odin fajl naho- dilsya v neskol'kih katalogah. |ta komanda imeet - 33 - sleduyushchij format: ln fajl novyj_fajl gde fajl - eto ishodnyj fajl, a novyj_fajl - novyj, svyazannyj s pervym fajl-ssylka. Naprimer, sleduyushchaya komanda svyazyvaet fajl memos v kataloge /usr/joe s faj- lom joememos v kataloge /usr/mary: ln /usr/joe/memos /usr/mary/joememos Kogda by /usr/joe/memos ni izmenyalsya, vsegda budet izmenyat'sya i /usr/mary/joememos. Kogda vy sozdaete ssylku na fajl, imya fajla-ssylki svya- zyvaetsya s i-uzlom. i-uzel opredelyaet unikal'nyj nabor dannyh na diske. S etimi dannymi mogut byt' svyazany odno ili bolee imya. Takim obrazom, opisannaya vyshe komanda garantiruet, chto fajly katalog1/fajl1 i katalog2/fajl2 budut odinakovy. Sushchestvuyut tri veshchi, kotorye ne srazu ochevidny: 1. Ispol'zovanie ssylok dlya bol'shih naborov fajlov pri neobhodimosti ispol'zovat' ih parallel'no mozhet sekonomit' znachitel'nyj ob容m diskovogo prostranstva. 2. Ispol'zovanie ssylok na fajl neskol'kimi pol'zova- telyami opasno, tak kak lyuboj iz nih mozhet izmenit' fajl, i, takim obrazom, povliyat' na soderzhimoe vseh fajlov-ssylok. 3. Udalenie fajla iz kataloga ne udalyaet drugie ssylki na nego. Takim obrazom, v dejstvitel'- nosti, fajl ne udalyaetsya iz sistemy. Naprimer, esli vy udalite fajl, kotoryj imeet chetyre ssylki, tri iz nih ostanutsya. Podrobnee o ssylkah sm. ln(C) v Spravochnom rukovodstve XENIX. 4.6. Operacii s katalogami Iz-za ierarhicheskoj organizacii fajlovoj sistemy v sis- teme XENIX sushchestvuet mnozhestvo katalogov i podkatalo- gov. Kazhdyj pol'zovatel' imeet svoj sobstvennyj katalog v fajlovoj sisteme. V vashem pol'zovatel'skom kataloge vy mozhete sozdavat', udalyat' i kopirovat' katalogi. Nizhe opisyvayutsya komandy, kotorye dayut vam vozmozhnost' rabotat' s katalogami. - 34 - 4.6.1. Vyvod imeni vashego rabochego kataloga Vse komandy vypolnyayutsya otnositel'no rabochego kataloga. Imya etogo kataloga vydaetsya komandoj pwd, kotoraya ozna- chaet "print