"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>>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 ('>>'), 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 ('>>>>'), 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 ('<<') 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 ('>>')
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 ('>>'). (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