Ocenite etot tekst:


                         |tot tekst podgotovlen NPO "KLOTO"



1. Svedeniya o processah i sistemnyh vyzovah . . . . . . . .
2. Atributy processov . . . . . . . . . . . . . . . . . . .
        2.1. Nasleduemye fajly  . . . . . . . . . . . . . .
        2.2. Identifikator pol'zovatelya (UID)  i  identifi-
             kator gruppy (GID) . . . . . . . . . . . . . .
3. Komandy UNIXa  . . . . . . . . . . . . . . . . . . . . .
        3.1. Kontekstnyj poisk i preobrazovanie teksta  . .
        3.2. Arifmeticheskij yazyk dlya  vychislenij  s  proiz-
             vol'noj tochnost'yu  . . . . . . . . . . . . . .
        3.3. Izmenenie prav dostupa k fajlam  . . . . . . .
        3.4. Sravnenie soderzhimogo dvuh fajlov  . . . . . .
        3.5. Postrochnoe sravnenie dvuh tekstovyh fajlov . .
        3.6. Prostye arifmeticheskie vychisleniya s proizvol'-
             noj tochnost'yu  . . . . . . . . . . . . . . . .
        3.7. Vyvesti argumenty komandnoj  stroki  na  stan-
             dartnyj vyvod  . . . . . . . . . . . . . . . .
        3.8. Razlozhenie celogo chisla na prostye somnozhiteli
        3.9. Opredelenie tipa fajla . . . . . . . . . . . .
        3.10. Poisk fajlov  . . . . . . . . . . . . . . . .
        3.11. Kontekstnyj poisk v tekstovom fajle . . . . .
        3.12. Opredelenie   identifikatora  pol'zovatelya  i
             identifikatora gruppy  . . . . . . . . . . . .
        3.13. Avarijnoe zavershenie processa . . . . . . . .
        3.14. Informaciya o sostoyanii processov  . . . . . .
        3.15. Sortirovka i/ili sliyanie fajlov . . . . . . .
        3.16 Podschet kolichestva simvolov, slov  i  strok  v
             fajle  . . . . . . . . . . . . . . . . . . . .



     Sistemnye vyzovy - eto interfejs mezhdu programmami i yadrom
UNIXa. YAdro UNIXa obespechivaet razdelenie processora mezhdu  vy-
polnyayushchimisya programmami,  osushchestvlyaet  upravlenie  pamyat'yu  i
drugimi ustrojstvami, realizuet fajlovuyu sistemu. Sistemnye vy-
zovy mogut ispol'zovat'sya vsemi bez isklyucheniya programmami.
     Programma, nahodyashchayasya  v  stadii  vypolneniya,  nazyvaetsya
processom. Tak, shell, ozhidayushchij vvoda komandy,  yavlyaetsya  pro-
cessom.
     Vse komandy UNIXa (krome vstroennyh komand shella) yavlyayut-
sya obychnymi programmami. Poetomu, poluchiv komandu, ne yavlyayushchuyu-
sya vstroennoj, shell dolzhen vyzvat' na vypolnenie  programmu  i
peredat' ej argumenty iz komandnoj stroki. Dlya etogo shell  de-
laet sleduyushchee: on razdelyaetsya na dve kopii (ispol'zuya  sistem-
nyj vyzov fork), otlichayushchiesya lish' tem, chto kazhdaya mozhet  opre-
delit', kem ona yavlyaetsya: processom-predkom  ili  processom-po-
tomkom. Pri etom processu-potomku dostayutsya po  nasledstvu  vse
atributy processa-predka: otkrytye fajly, peremennye okruzheniya,
tekushchaya direktoriya i dr. Zatem process-predok perehodit v  sos-
toyanie ozhidaniya zaversheniya processa-potomka (ispol'zuya  sistem-
nyj vyzov wait), esli tol'ko  process-potomok  ne  byl  zapushchen
asinhronno. Process-potomok izdaet sistemnyj vyzov exec, po ko-
toromu yadro UNIXa podmenyaet programmu,  opredelyayushchuyu  povedenie
processa, i peredaet ej upravlenie i spisok argumentov.
     Nasledovanie atributov ob®yasnyaet, pochemu tak  legko  mozhno
perenaznachit' standatnyj vvod-vyvod. Pered  tem,  kak  peredat'
upravlenie novoj programme, shell (process-predok) perenaznacha-
et svoj standartnyj  vvod-vyvod,  kotoryj  i  dostanetsya  novoj
programme.
     Zavershiv vypolnenie, process-potomok proizvedet "samoubij-
stvo" (izdav dlya etogo sistemnyj vyzov exit). Pri etom vse otk-
rytye v nem fajly budut zakryty i sam on prekratit  sushchestvova-
nie. Esli zavershilsya process, u kotorogo byli potomki,  to  eti
potomki stanut potomkami "vseobshchego predka", t.e. processa, za-
pushchennogo pri vhode v sistemu. Zavershenie processa-potomka pri-
vodit k probuzhdeniyu processa-predka, kotoryj poluchaet  informa-
ciyu o tom, kotoryj iz processov-potomkov zavershil svoe  sushchest-
vovanie i kod ego zaversheniya. Posle etogo process-predok  unich-
tozhit vse sledy sushchestvovaniya processa-potomka i prodolzhit  vy-
polnenie svoej programmy.
     Kazhdyj process pri ego porozhdenii poluchaet unikal'nyj  no-
mer, nazyvaemyj PID (process ID). Nomer ego  processa-predka  -
PPID (parent PID). |ti nomera mozhno poluchit',  vospol'zovavshis'
komandoj ps (sm. 3.14).



     Pri porozhdenii novogo  processa,  poslednij  nasleduet  ot
processa-predka bol'shinstvo atributov. K nim otnosyatsya otkrytye
fajly, peremennye okruzheniya, tekushchaya direktoriya,  identifikator
pol'zovatelya i identifikator gruppy i t.d.



     Vse fajly, kotorye byli otkryty v processe, izdavshem  sis-
temnyj vyzov fork, budut unasledovany potomkom.  Esli kakoj-li-
bo iz etih processov reshit zakryt' odin  iz  takih  fajlov,  to
dostupa k fajlu lishitsya tol'ko on sam. Fajl mozhet byt'  dostup-
nym i bolee chem dvum  processam-rodstvennikam,  esli  porozhdeno
bolee odnogo  processa-potomka.  Pri  etom  vse  oni  razdelyayut
edinstvennyj ukazatel' na fajl.


                           i  identifikator  gruppy (GID)

     Dlya kazhdogo processa opredeleny prava dostupa k  razlichnym
fajlam s pomoshch'yu identifikatora pol'zovatelya  i  identifikatora
gruppy, kotorye imeet pol'zovatel', zapustivshij process (uznat'
ih mozhno komandoj id (sm. 3.12)). |ti  identifikatory  yavlyayutsya
celymi chislami i ih ustanovka proizvoditsya  v  moment  vhoda  v
sistemu. Identifikator pol'zovatelya i identifikator gruppy, us-
tanovlennye dlya processa, peredayutsya im po nasledstvu vsem  po-
tomkam.
     Na samom dele s kazhdym processom, krome dejstvuyushchego iden-
tifikatora pol'zovatelya i dejstvuyushchego  identifikatora  gruppy,
svyazany eshche  real'nyj  identifikator  pol'zovatelya  i  real'nyj
identifikator gruppy. Pervye dva ispol'zuyutsya pri proverke raz-
resheniya na dostup k fajlam, a vtorye dva opredelyayut pol'zovate-
lya, ot imeni kotorogo vystupaet process.
     V bol'shinstve sluchaev eti identifikatory sovpadayut. Odnako
mogut byt' ustanovleny takie kody zashchity fajla, chto pri obrashche-
nii k nemu (napr. mail, rmdir) pereustanavlivaetsya libo  real'-
nyj identifikator  pol'zovatelya,  libo  real'nyj  identifikator
gruppy, libo i tot i drugoj, i, takim obrazom, pol'zovatel' po-
luchaet vozmozhnost' proizvodit' dejstviya ot imeni pol'zovatelya s
bol'shimi pravami.



awk     - kontekstnyj poisk i preobrazovanie teksta
bc      - arifmeticheskij yazyk  dlya  vychislenij  s  proizvol'noj
          tochnost'yu
chmod   - izmenenie prav dostupa k fajlam
cmp     - sravnenie soderzhimogo dvuh fajlov
comm    - postrochnoe sravnenie dvuh tekstovyh fajlov
dc      - prostye arifmeticheskie vychisleniya s proizvol'noj toch-
          nost'yu
echo    - vyvesti argumenty komandnoj stroki na standartnyj vy-
          vod
factor  - razlozhenie celogo chisla na prostye somnozhiteli
file    - opredelenie tipa fajla
find    - poisk fajlov
grep    - kontekstnyj poisk v tekstovom fajle
id      - opredelenie identifikatora pol'zovatelya i identifika-
          tora gruppy
kill    - avarijnoe zavershenie processa
ps      - informaciya o sostoyanii processov
sort    - sortirovka i/ili sliyanie fajlov
wc      - podschet kolichestva simvolov, slov i strok v fajle



Format komandy: awk [ -Fc ] [ -f ] [  ] [  ]
                                                    [  ]

     awk skaniruet kazhdyj vhodnoj fajl v poiske strok, udovlet-
voryayushchih kakomu-libo iz shablonov, opredelennyh v . SHablo-
ny mogut libo byt' zadany neposredstvenno  v  kachestve  ,
libo byt' zapisany v fajl progfile i obrabotany komandoj

        awk -f progfile [  ]

Esli shablony ukazany v komandnoj stroke,  to  oni  dolzhny  byt'
zaklyucheny v odinarnye kavychki ('). awk mogut byt' peredany  pa-
rametry v forme x=... y=... i t.d. Primery sm. v  konce  opisa-
niya.
     Fajly chitayutsya v ukazannom poryadke. Esli ne ukazano ni od-
nogo fajla, to stroki vvodyatsya iz standartnogo  vvoda.  Fajl  s
imenem "-" oboznachaet standartnyj vvod.
     Vvod dlya awk delitsya na  zapisi,  razdelyaemye  special'nym
razdelitelem. Po umolchaniyu eto , i togda awk  obraba-
tyvaet vvod postrochno. Razdelitel' zapisej mozhno izmenit',  pe-
reopredeliv peremennuyu RS.
     Kazhdaya zapis' delitsya na polya, ogranichennye  razdelitelyami
polej. Po umolchaniyu eto probely. |tot razdelitel'  mozhno  izme-
nit', ustanoviv peremennuyu FS ravnoj simvolu c ili ukazav  flag
-Fc. SHablony komandnoj stroki dostupny po imenam $1,  $2,  ...;
$0 - vsya vhodnaya stroka. Esli razdelitel' zapisej  nulevoj,  to
na samom dele im yavlyaetsya pustaya stroka.
     Dlya kazhdogo obrazca,  ukazannogo  v  ,  opredelyaetsya
dejstvie. Ukazannoe dejstvie budet proizvedeno s  kazhdoj  stro-
koj, ili polem vnutri nee, kotoraya udovletvoryaet etomu shablonu.
     Operator  imeet vid:

         {  }

     Kazhdaya stroka proveryaetsya na sovpadenie s kazhdym shablonom.
Pri kazhdom sovpadenii vypolnyayutsya vse ukazannye dejstviya. Posle
sravneniya so vsemi obrazcami vvoditsya sleduyushchaya stroka  i  pro-
cess sravneniya povtoryaetsya. Mozhet byt' opushchen libo shablon, libo
dejstvie, no ne oba vmeste. Esli dlya dannogo shablona ne ukazany
dejstviya, to stroka prosto kopiruetsya v vyvod. Esli dlya  dejst-
viya ne opredelen shablon, to ono budet  vypolnyat'sya  dlya  kazhdoj
vhodnoj stroki. Stroki, ne udovletvoryayushchie ni  odnomu  obrazcu,
ignoriruyutsya.
     Dejstvie est' posledovatel'nost' operatorov. Tak kak  shab-
lony i dejstviya mogut byt' opushcheny, to, chtoby  razlichat'  ih  v
programme, poslednie nado brat'  v  figurnye  skobki.  Operator
est' odna iz konstrukcij:

        if (  )  [ else  ]
        while (  ) 
        for ( ; ;  ) 
        break
        continue
        [  ] ...
         = 
        print [  ] [ >  ]
        printf  [ ,  ]
                                              [ >  ]
        next   (propustit' ostavshiesya shablony i perejti k
                sleduyushchej stroke)
        exit   (propustit' ostavshiesya stroki)

     Operatory zavershayutsya tochkoj s  zapyatoj,    ili
pravoj skobkoj. Pustoj  oznachaet vsyu  stroku.
Vyrazheniya stroyatsya iz strokovyh ili chislovyh velichin s  pomoshch'yu
operacij +, -, *, /, % i konkatenacii (oboznachaetsya  probelom).
V vyrazheniyah takzhe mozhno ispol'zovat' operatory  yazyka  C:  ++,
--, +=, -=, *=,  /=,  %=.  Peremennye  inicializiruyutsya  pustoj
strokoj. Peremennye mogut takzhe byt' elementami massiva  (oboz-
nachaetsya x[i]) ili polyami. Indeksy massiva ne obyazany byt'  ce-
lymi. Konstantnye stroki dolzhny byt' zaklyucheny v dvojnye kavych-
ki (").
     Operator print vyvodit svoi argumenty v standartnyj  vyvod
(ili v fajl, esli opredelena chast' '> '),   razdelyaya
ih tekushchim razdelitelem polej i zavershaya kazhduyu zapis'  tekushchim
razdelitelem zapisej. Operator printf delaet to  zhe  samoe,  no
pod upravleniem formata (format sovpadaet  s  formatom  funkcii
printf yazyka C).
     Vstroennaya funkciya length vozvrashchaet dlinu svoego argumen-
ta, rassmatrivaya ego kak stroku; esli argument opushchen, to vozv-
rashchaetsya  dlina  tekushchej  stroki.  Opredeleny  takzhe  sleduyushchie
vstroennye funkcii: exp, log, sqrt i int (int vozvrashchaet  celuyu
chast' svoego  argumenta).  Funkciya  substr(s, m, n)  vozvrashchaet
n-simvol'nuyu podstroku stroki s, nachinaya s pozicii  m.  Funkciya
sprintf(, , ,  ...)   preobrazuet
vyrazheniya v sootvetstvii s ukazannym formatom  (sm.  printf)  i
vozvrashchaet poluchennuyu stroku.
     SHablon - eto logicheskaya kombinaciya (s pomoshch'yu !, || ,&&  i
skobok) regulyarnyh vyrazhenij (sm. grep (egrep)), zaklyuchennyh  v
sleshi (/), i otnositel'nyh vyrazhenij (sm. nizhe). Otdel'noe  re-
gulyarnoe vyrazhenie v shablone otnositsya ko vsej stroke. Regulyar-
nye vyrazheniya mogut byt' i v otnositel'nyh  vyrazheniyah.  SHablon
mozhet sostoyat' iz dvuh obrazcov, razdelennyh zapyatoj; pri  etom
ukazannye dejstviya vypolnyayutsya dlya vseh  strok  mezhdu  strokoj,
udovletvoryayushchej pervomu  shablonu,  i  strokoj,  udovletvoryayushchej
vtoromu shablonu.
     Otnositel'noe vyrazhenie - eto odna iz sleduyushchih  konstruk-
cij:
          
          

gde  - lyubaya iz shesti operacij otnosheniya  yazyka
                       C,
     - eto ~ (soderzhitsya) ili !~ (ne soderzhitsya).
      - eto  arifmeticheskoe  vyrazhenie,  otnositel'noe
vyrazhenie ili ih logicheskaya kombinaciya.
     Dlya vypolneniya kakih-libo dejstvij pered pervoj ili  posle
poslednej stroki opredeleny special'nye shablony  BEGIN  i  END.
Naprimer, dlya ispol'zovaniya simvola c  v  kachestve  razdelitelya
polej mozhno libo zapustit' programmu s flagom -Fc, libo ukazat'

        BEGIN { FS = c }

    Ostal'nye special'nye peremennye:

        NF      - kolichestvo polej v tekushchej zapisi
        NR      - poryadkovyj nomer tekushchej zapisi
        FILENAME- imya fajla, iz kotorogo v dannyj moment proiz-
                  voditsya vvod
        OFS     - razdelitel' polej pri vyvode (po umolchaniyu  -
                  probel)
        ORS     - razdelitel' zapisej pri vyvode (po  umolchaniyu
                  )
        OFMT    - format vyvoda chisel (po umolchaniyu %.6g)

Primery.

1) Vyvesti stroki fajla first, v kotoryh bolee 72 simvolov

        awk 'length > 72' first

2) Vyvesti pervye dva polya fajla second v obratnom poryadke

        awk '{ print $2, $1 }' second

3) Slozhit' chisla, stoyashchie v pervom stolbce fajla third,  i  vy-
   vesti summu i srednee

   Pervyj variant:
   V fajle prog:

                { s += $1 }
        END     { print "sum is", s, "average is", s/NR }

   Komandnaya stroka:

        awk -f prog third

   Vtoroj variant:

awk '{ s += $1 } END { print "sum -",s,"average -",s/NR }' third

4) Vyvesti polya fajla fourth v obratnom poryadke

        awk '{ for (i = NF; i > 0; --i) print $i }' fourth

5) Vyvesti vse stroki fajla  fifth,  nahodyashchiesya  mezhdu  parami
   start/stop

        awk '/start/,/stop/' fifth

6) Vyvesti te stroki fajla sixth, u kotoryh pervoe pole ne sov-
   padaet s pervym polem predydushchej stroki

        awk '$1 != prev { print; prev = $1 }' sixth

7) Raspechatat' fajl seventh, vstavlyaya nomer stranicy, nachinaya s
   pyatoj, posle slova "Page"

   V fajle program:

        /Page/ { $2 = n++; }
               { print }

  Komandnaya stroka:

        awk -f program n=5 seventh

    3.2. bc - Arifmeticheskij yazyk dlya vychislenij

s proizvol'noj tochnost'yu Format komandy: bc [ -c ] [ -l ] [ ... ] bc - interaktivnyj processor dlya C-podobnogo yazyka, pozvo- lyayushchego proizvodit' arifmetiku neogranichennoj tochnosti. Vvod proizvoditsya iz ukazannyh fajlov, a zatem so standartnogo vvo- da. Flag -l oznachaet podklyuchenie matematicheskoj biblioteki dlya operacij proizvol'noj tochnosti. Nizhe opisyvaetsya sintaksis yazyka bc. L oznachaet lyubuyu iz bukv [a-z], E - vyrazhenie, S - operator. Kommentarii stroki, zaklyuchennye v /* i */. Imena prostaya peremennaya: L element massiva: L [ E ] slova "ibase","obase","scale" Drugie operandy chisla proizvol'noj dliny, vozmozhno so znakom i desyatich- noj tochkoj ( E ) sqrt ( E ) length ( E ) kolichestvo znachashchih desyatichnyh cifr scale ( E ) kolichestvo desyatichnyh cifr posle zapya- toj L ( E, ..., E ) Operacii + - * / % ^ (% - ostatok, ^ - vozvedenie v stepen') ++ -- (uvelichenie i umen'shenie na 1; prefiks- nye i postfiksnye) == <= >= != <> = =+ =- =* =/ =% Operatory E { S; ... ; S } if ( E ) S while ( E ) S for ( E; E; E ) S pustoj operator break quit Opredelenie funkcii define L ( L, ..., L ) { auto L, ..., L S; ...; S return ( E ) } Funkcii, opredelennye v -l biblioteke: s(x) - sin(x) c(x) - cos(x) e(x) - exp(x) l(x) - ln(x) a(x) - arctan(x) j(n,x) - funkciya Besselya Vse argumenty funkciyam peredayutsya po znacheniyu. Znachenie operatora, yavlyayushchegosya vyrazheniem, pechataetsya, esli on ne yavlyaetsya chast'yu operatora prisvaivaniya. Operatory mogut razdelyat'sya kak ; tak i . Prisvaivanie scale opredelyaet tochnost' vypolneniya operacij. Prisvaivanie ibase i obase opredelyaet sistemu schisleniya dlya vvoda i vyvoda soot- vetstvenno. Odna i ta zhe bukva mozhet byt' odnovremenno ispol'zovana kak imya prostoj peremennoj, imya massiva i imya funkcii. Vse pe- remennye yavlyayutsya global'nymi. Peremennye, opisannye kak "auto", sozdayutsya pri vhode v funkciyu. Pri ispol'zovanii massi- vov v kachestve argumentov funkcij ili pri opisanii ih kak avto- maticheskih, za imenem massiva mogut sledovat' pustye kvadratnye skobki. bc - preprocessor dlya dc, kotoryj on zapuskaet avtomati- cheski, esli tol'ko ne ukazan flag -c (tol'ko kompilyaciya). Primer. Vyvesti sqrt(x) dlya pervyh 10 celyh chisel. /* opredelyaetsya tochnost' vychislenij */ scale = 20 /* opredelyaetsya funkciya */ define r(a) { auto x,y y = a + 1 x = y + 1 while ( y < x ) { x = y y = 0.5 * ( x + a / x ) } return (y) } /* vychislyaetsya znachenie */ for ( i = 1; i <= 10; i++ ) r(i) /* vyhod */ quit Zamechaniya. Operator for dolzhen imet' vse tri E. Quit interpretiruetsya pri vvode, a ne pri vypolnenii.

    3.3. chmod - Izmenenie prav dostupa k fajlam

Format komandy: chmod prava fajly Rezhim dostupa k ukazannym fajlam izmenyaetsya v sootvetstvii s ukazannymi pravami. Prava mogut byt' ukazany v absolyutnom ili v simvol'nom vide. Absolyutnyj vid - vos'merichnoe chislo, yavlyayushcheesya logicheskim ILI sleduyushchih rezhimov: 04000 - pri vypolnenii pereustanovit' UID pol'zovate- lya na UID fajla 02000 - pri vypolnenii pereustanovit' GID pol'zovate- lya na GID fajla 00400 - dostupen dlya chteniya vladel'cem 00200 - dostupen dlya zapisi vladel'cem 00100 - dostupen dlya vypolneniya vladel'cem 00040 - dostupen dlya chteniya chlenami gruppy 00020 - dostupen dlya zapisi chlenami gruppy 00010 - dostupen dlya vypolneniya chlenami gruppy 00004 - dostupen dlya chteniya prochimi pol'zovatelyami 00002 - dostupen dlya zapisi prochimi pol'zovatelyami 00001 - dostupen dlya vypolneniya prochimi pol'zovatelyami Naprimer, chtoby ustanovit' prava, pozvolyayushchie vladel'cu chitat' i pisat' v fajl, a chlenam gruppy i prochim pol'zovatelyam tol'ko chitat', nado slozhit' 0400, 0200, 0040 i 0004. Takim ob- razom komanda budet imet' vid: chmod 644 file Simvol'nyj vid: [ ] CHast' est' kombinaciya bukv u (vladelec), g (gruppa) i o (prochie). Esli chast' opushchena ili ukazano a, to eto ekvivalentno ugo. mozhet byt': + - razreshit' pravo dostupa, - - zapre- tit' pravo dostupa, = - zapretit' vse prava dostupa dlya ukazan- nyh kategorij pol'zovatelej. - lyubaya kombinaciya iz bukv r (chitat'), w (pisat'), x (vypolnyat'), s (ustanavlivat' UID ili GID). Opustit' chast' mozhno tol'ko esli est' = dlya zapreshcheniya vseh prav. Esli nado sdelat' bolee odnogo ukazaniya ob izmenenii prav, to, pri ispol'zovanii simvol'nogo sposoba zadaniya prav dostupa, v ne dolzhno byt' probelov, a ukazaniya dolzhny razdelyat'- sya zapyatymi. Naprimer, komanda chmod u+w,go+x file dobavit dlya vladel'ca pravo pisat' v fajl, a dlya chlenov gruppy i prochih pol'zovatelej - pravo vypolnyat' fajl. Prava ustanavli- vayutsya v ukazannoj posledovatel'nosti (sleva napravo). Izmenit' prava dostupa k fajlu mozhet tol'ko ego vladelec (ili superpol'zovatel'). Dlya prosmotra prav dostupa i kontrolya pri ih izmenenii ispol'zujte komandu ls -l file (prava pereustanovki UID i GID otmechayutsya bukvoj s na meste so- otvetstvuyushchej bukvy x: malen'koj bukvoj s, esli sootvetstvuyushchaya kategoriya pol'zovatelej imeet pravo x, i bol'shoj S - esli ne imeet). Primery. Pust' fajl file imeet prava: -rw-rw-rw-, to est' dostupen vsem na chtenie i zapis'. 1) Zapretit' zapis' v fajl dlya prochih pol'zovatelej chmod o-w file ( -rw-rw-r-- ) 2) Sdelat' fajl vypolnyaemym chmod +x file ( -rwxrwxr-x ) 3) Lishit' chlenov gruppy vseh prav na dostup k fajlu, za isklyu- cheniem chteniya chmod g=+r file ( -rwx-w-r-x ) 4) Razreshit' pereustanavlivat' UID pol'zovatelya na UID fajla chmod u+s file ( -rws-w-r-x )

    3.4. cmp - Sravnenie soderzhimogo dvuh fajlov

Format komandy: cmp [-l] [-s] file1 file2 Sravnivayutsya fajly file1 i file2 (esli file1 zamenen zna- kom -, to ispol'zuetsya standartnyj vvod). Po umolchaniyu, cmp ne daet nikakih soobshchenij, esli fajly sovpadayut; esli fajly otli- chayutsya, to soobshchayutsya nomer stroki i poziciya v nej, v kotoroj nahoditsya pervyj nesovpadayushchij simvol. Esli odin iz fajlov yav- lyaetsya nachalom drugogo, to vydaetsya soobshchenie: cmp: EOF on gde - bolee korotkij fajl. Naznachenie klyuchej: -l - vyvesti nomer bajta (desyatichnoe) i razlichayushchiesya baj- ty (vos'merichnoe) dlya kazhdogo nesootvetstviya -s - nichego ne pechatat', a tol'ko vernut' kod vozvrata: esli fajly sovpadayut - 0, esli razlichayutsya - 1, esli propushchen argument ili dostup dlya chteniya k odnomu iz fajlov zapreshchen - 2.

    3.5. comm - Postrochnoe sravnenie dvuh tekstovyh fajlov

Format komandy: comm [ - [ 123 ] ] file1 file2 Comm chitaet fajly file1 i file2 i vyvodit rezul'taty v tri kolonki: 1. Stroki, imeyushchiesya tol'ko v file1 2. Stroki, imeyushchiesya tol'ko v file2 3. Stroki, imeyushchiesya v oboih fajlah Znak - na meste imeni fajla oznachaet standartnyj vvod. Flagi 1,2 ili 3 podavlyayut vyvod sootvetstvuyushchih kolonok. Tak, comm -12 vyvodit stroki, obshchie dlya dvuh fajlov; comm -23 - imeyushchiesya tol'ko v file1, no otsutstvuyushchie v file2; comm -123 ne vyvodit nichego.

    3.6. dc - Prostye arifmeticheskie vychisleniya s proizvol'noj tochnost'yu

Format komandy: dc [ fajl ] dc - paket dlya arifmeticheskih vychislenij s proizvol'noj tochnost'yu. Obychno on operiruet v desyatichnoj sisteme s celymi, odnako mozhno zadat' sistemy schisleniya dlya vvoda, dlya vyvoda, tochnost' vychislenij. Obshchaya struktura dc - stekovyj kal'kulyator, ispol'zuyushchij obratnuyu pol'skuyu zapis'. Esli argument ukazan, to snachala vvod proizvoditsya iz fajla, a potom iz standartnogo vvoda. bc, preprocessor dlya dc, podderzhivaet infiksnuyu notaciyu i C-podobnyj sintaksis dlya opredeleniya funkcij i upravlyayushchih struktur v programmah (sm. 3.2). dc raspoznaet sleduyushchie konstrukcii: - znachenie chisla pomeshchaetsya v stek. - nepreryv- naya stroka cifr 0-9. V nachale ee mozhet stoyat' znak podcherkivaniya (_) dlya vvoda otricatel'nogo chisla. mozhet soderzhat' desyatichnuyu tochku. +-/*%^ - verhnie dva chisla steka skladyvayutsya (+), vychitayutsya (-), umnozhayutsya (*), beretsya ostatok (%) ili vtoroe ot vershiny chislo vozvoditsya v stepen', opredelyaemuyu chislom, nahodyashchimsya v vershine steka. Oba operanda izvlekayutsya iz steka i rezul'tat pomeshchaetsya obratno v stek. Pokazatel' stepeni dolzhen byt' celym chislom. sx - izvlekaetsya vershina steka i pomeshchaetsya v registr s imenem x, gde x - lyuboj simvol. Esli ukazano S, to x rassmatrivaetsya kak stek i rezul'tat pomeshchaetsya v ego vershinu. lx - znachenie, hranyashcheesya v registre x, pomeshchaetsya v stek. Registr x ne menyaetsya. Iznachal'no vse registry inici- aliziruyutsya nulem. Esli ukazano L, to registr rass- matrivaetsya kak stek i ego vershina izvlekaetsya i po- meshchaetsya v glavnyj stek. d - vershina steka udvaivaetsya p - vyvoditsya vershina steka (ne izmenyayas'). P izvlekaet vershinu steka i vyvodit ee kak stroku. f - pechataet vse elementy steka. q - zavershaet rabotu programmy. x - vershina steka rassmatrivaetsya kak komanda dlya dc i vypolnyaetsya X - vershina steka zamenyaetsya kolichestvom cifr v nej posle zapyatoj [ ... ] - stroka, zaklyuchennaya v skobki, pomeshchaetsya v vershinu steka. x =x -dva verhnih elementa steka izvlekayutsya i sravnivayut- sya. Esli oni udovletvoryayut ukazannomu usloviyu, to so- derzhimoe registra x rassmatrivaetsya kak komanda dc i vypolnyaetsya. v - verhnij element steka zamenyaetsya kvadratnym kornem iz nego. Esli on byl celym, to koren' takzhe okruglyaetsya. ! - ostal'naya chast' stroki interpretiruetsya kak komanda shella c - ochistit' stek i - vershina steka izvlekaetsya i ispol'zuetsya kak osnova- nie sistemy schisleniya pri vvode. I pomeshchaet ispol'zu- emoe pri vvode osnovanie sistemy schisleniya v vershinu steka. o - vershina steka izvlekaetsya i ispol'zuetsya kak osnova- nie sistemy schisleniya pri vyvode. O pomeshchaet ispol'- zuemoe pri vyvode osnovanie sistemy schisleniya v ver- shinu steka. k - izvlekaetsya vershina steka i ispol'zuetsya kak neotri- catel'nyj masshtabnyj mnozhitel': kolichestvo znakov posle zapyatoj pri vyvode, pri umnozhenii, delenii i vozvedenii v stepen'. z - v stek pomeshchaetsya kolichestvo ego elementov Z - chislo v vershine steka zamenyaetsya ego dlinoj (bez uche- ta desyatichnoj tochki i znaka minus). ? - so standartnogo vvoda vvoditsya odna stroka i ispolnya- etsya. Primer. Vyvesti pervye 10 znachenij n! [la1+dsa*pla10>y]sy 0sa1 lyx Soobshcheniya x is unimplemented - x - vos'merichnoe znachenie stack empty - v steke men'she elementov, chem trebu- etsya Out of pushdown - stek perepolnen Nesting Depth - slishkom bol'shoj uroven' vlozhennosti

    3.7. echo - Vyvesti argumenty komandnoj stroki na standartnyj vyvod

Komanda echo vyvodit na standartnyj vyvod svoi argumenty, razdelyaya ih probelami i zakanchivaya stroku . Krome to- go, podderzhivayutsya sleduyushchie dogovorennosti: \b - ustanovit' kursor v levyj verhnij ugol ekrana \c - ne zakanchivat' stroku \f - konec stranicy \n - perevod stroki \r - vozvrat karetki \\ - bekslesh \0xx - ot odnoj do treh vos'merichnyh cifr, s 0 v na- chale, predstavlyayushchie kod ASCII simvola

    3.8. Razlozhenie celogo chisla na prostye somnozhiteli

Format komandy: factor [ ] Pri zapuske bez argumentov vvodit chisla iz standartnogo vvoda. Maksimal'no dopustimoe chislo - 2ĵĦ (~ 7.2*10ıĦ). Vvod otricatel'nyh chisel privodit k soobshcheniyu: Ouch! a nechislovyh simvolov k zaversheniyu programmy. Vremya vychislenij proporcional'no kornyu iz chisla i maksi- mal'no, esli chislo yavlyaetsya prostym ili kvadratom prostogo.

    3.9. file - Opredelenie tipa fajla

Format komandy: file [ -f ffile ] ... Komanda file provodit seriyu testov dlya kazhdogo argumenta, schitaya ego imenem fajla, pytayas' klassificirovat' ego. Esli fajl tekstovyj, to file pytaetsya po pervym 512 bajtam oprede- lit' yazyk programmirovaniya. Pri zadanii flaga -f sleduyushchij za nim fajl dolzhen soder- zhat' spisok fajlov, podlezhashchih issledovaniyu.

    3.10. find - Poisk fajlov

Format komandy: find Find rekursivno prosmatrivaet direktorii dlya kazhdogo ele- menta spiska poiska, otyskivaya fajly, udovletvoryayushchie logiches- komu , zapisannomu s pomoshch'yu privedennyh nizhe primi- tivov. V ih opisaniyah n ispol'zuetsya kak celoe desyatichnoe chis- lo, +n oznachaet bol'she, chem n, -n - men'she, chem n. -name istina, esli tekushchij fajl udovletvoryaet shablonu -perm onum istina, esli kod zashchity fajla v tochnosti raven onum (sm. chmod) -type c istina, esli tip fajla c, gde c - b, c, d, p, ili f - blok- ili simvol'noorientirovannyj spe- cial'nyj fajl, direktoriya, kanal (pipe) ili obychnyj fajl -links n istina, esli fajl imeet n svyazej -user uname istina, esli UID fajla sovpadaet s uname -group gname istina, esli GID fajla sovpadaet s gname -size n[c] istina, esli fajl zanimaet n blokov (po 512 bajt). Esli ukazana bukva c, to razmer fajla zadaetsya v simvolah -atime n istina, esli fajl ne chitalsya v poslednie n dnej -mtime n istina, esli fajl ne modificirovalsya v posled- nie n dnej -ctime n istina, esli prava dostupa k fajlu ne menyalis' v poslednie n dnej -exec cmd istina, esli posle vypolneniya komandy cmd vozv- rashchaetsya nulevoj kod vozvrata. Cmd mozhet zakan- chivat'sya tochkoj s zapyatoj, kotoraya dolzhna byt' ekranirovana. Argument komandy {} zamenyaetsya imenem tekushchego fajla -ok cmd to zhe, chto i exec, za isklyucheniem togo, chto pered vypolneniem cmd zaprashivaetsya podtverzhde- nie i cmd vypolnyaetsya tol'ko pri otvete y -print vsegda istina; vyvodit imya fajla (vyrazhenie) istina, esli istinno zaklyuchennoe v skobki vyra- zhenie (skobki dolzhny byt' ekranirovany) Primitivy mogut kombinirovat'sya s pomoshch'yu sleduyushchih opera- cij (v poryadke umen'sheniya prioriteta): 1) Otricanie (! - unarnaya operaciya NOT) 2) Konkatenaciya (operaciya AND, oboznachaetsya probelom) 3) Vybor (-o - operaciya OR) Primer. Udalit' vse fajly s imenami a.out ili *.o, kotorye ne otkryvalis' v techenie nedeli: find / \( -name a.out -o -name '*.o' \) -atime +7 -exec rm {} \;

    3.11. grep - Kontekstnyj poisk v tekstovom fajle

Kontekstnyj poisk v tekstovom fajle vypolnyayut tri program- my: grep, egrep i fgrep. Format komand: grep [ flagi ] vyrazhenie [ fajly ] egrep [ flagi ] [ vyrazhenie ] [ fajly ] fgrep [ flagi ] [ stroki ] [ fajly ] Komandy prosmatrivayut vhodnye fajly (po umolchaniyu stan- dartnyj vvod) v poiske strok, udovletvoryayushchih shablonu. Obychno, kazhdaya najdennaya stroka kopiruetsya v standartnyj vyvod. SHablony dlya grep mogut byt' tol'ko regulyarnymi vyrazheniyami (sm. "In- terpretator komandnogo yazyka shell); on ispol'zuet kompaktnyj nedeterminirovannyj algoritm. egrep ispol'zuet bystryj determi- nirovannyj algoritm i podderzhivaet v kachestve shablonov bolee sovershennye regulyarnye vyrazheniya. SHablony v smysle fgrep yavlya- yutsya strokovymi konstantami; fgrep bystr i kompakten. Programmami obrabatyvayutsya sleduyushchie flagi: -v vyvodyatsya vse stroki, krome udovletvoryayushchih shablonu -x vyvodyatsya tol'ko udovletvoryayushchie shablonu stroki (tol'ko dlya fgrep) -c vyvoditsya tol'ko kolichestvo udovletvoryayushchih shablonu strok -i pri sravnenii schitat' bol'shie i malen'kie bukvy sovpa- dayushchimi -l vyvodit' tol'ko imena fajlov, v kotoryh est' udovletvo- ryayushchie shablonu stroki -n pered kazhdoj strokoj stavit' ee nomer v fajle -b pered kazhdoj strokoj stavit' nomer bloka, v kotorom ona najdena. |to ispol'zuetsya dlya opredeleniya bloka na dis- ke po kontekstu -s podavlyat' soobshcheniya ob oshibkah, tipa "nesushchestvuyushchij" ili "zakrytyj dlya chteniya fajl" (tol'ko dlya grep) -e vyrazhenie to zhe samoe, chto i odinochnyj argument , no udobno, esli nachinaetsya so znaka - (ne ra- botaet s grep) -f fajl regulyarnoe vyrazhenie (egrep) ili spisok strok (fgrep) chitayutsya iz fajla Vo vseh sluchayah, imya fajla, v kotorom est' udovletvoryayushchie shablonu stroki, vyvoditsya. Dlya ekranirovaniya simvolov $, *, [, ^, |, (, ) i \ luchshe vsego zaklyuchat' v odinarnye kavychki '...'. fgrep ishchet stroki, soderzheshchie odnu iz . egrep rassmatrivaet regulyarnye vyrazheniya tak zhe, kak i shell (sm.) (krome \( i \) ), no, krome togo: 1. Regulyarnoe vyrazhenie, zakanchivayushcheesya znakom +, oznachaet od- no ili bolee vhozhdenie ego v regulyarnoe vyrazhenie. 2. Regulyarnoe vyrazhenie, zakanchivayushcheesya znakom ?, oznachaet od- no ili ni odnogo vhozhdenie ego v regulyarnoe vyrazhenie. 3. Dva regulyarnyh vyrazheniya, razdelennye znakom | ili , udovletvoryayut stroke, kotoroj udovletvoryaet odin iz nih. 4. Regulyarnoe vyrazhenie dlya gruppirovaniya mozhet zaklyuchat'sya v skobki. egrep ne obrabatyvaet konstrukcii tipa [a-z]. Esli byla poluchena hotya by odna stroka, udovletvoryayushchaya shablonu, vozvrashchaetsya kod zaversheniya 0, esli ne najdeno ni od- noj takoj stroki - 1, pri nalichii sintaksicheskih oshibok ili pri nalichii fajla, nedostupnogo dlya chteniya, (dazhe esli byli najdeny udovletvoryayushchie shablonu stroki) - 2.

    3.12. id - Opredelenie identifikatora pol'zovatelya i

identifikatora gruppy Format komandy: id Komanda id vydaet na standartnyj vyvod soobshchenie, soderzha- shchee UID, GID i sootvetstvuyushchie tekstovye imena dlya tekushchego processa.

    3.13. kill - Avarijnoe zavershenie processa

Format komandy: kill [ - ] pid ... kill posylaet signal 15 ukazannomu processu. Takim sposo- bom obychno mozhno zavershit' process, kotoryj ne otlavlivaet ili ne ignoriruet signaly. Nomera processov mozhno uznat' po komande ps (sm. 3.14). Nomer asinhronno zapushchennogo processa soobshchaetsya shellom pri ego zapuske. Process, kotoromu posylaetsya signal, dolzhen prinadlezhat' pol'zovatelyu. Esli nomer signala ukazan yavno, to vmesto signala 15 posylaetsya on. Komanda kill -9 ... ubivaet process, esli, konechno, dlya ubijstva hvataet prav. (O nomerah signalov sm. "Interpretator komandnogo yazyka shell")

    3.14. ps - Informaciya o sostoyanii processov

Format komandy: ps [ flagi ] ps vyvodit informaciyu ob aktivnyh processah. Po umolchaniyu, informaciya daetsya tol'ko o processah, associirovannyh s dannym terminalom. Komandoj ps obrabatyvayutsya sleduyushchie flagi: -e vyvosti informaciyu obo vseh processah -f generirovat' polnyj listing -l generirovat' listing v dlinnom formate -t vyvodit' informaciyu tol'ko o processah, svyazannyh s ( , eto tty° ili console) -p vyvodit' informaciyu tol'ko ob ukazannom processe -u vyvodit' informaciyu tol'ko o processah, chej UID ili vhodnoe imya pol'zovatelya ukazano -g vyvodit' informaciyu tol'ko o processah, GID kotoryh ukazano Nizhe privodyatsya zagolovki kolonok listinga i ob®yasnyaetsya ih soderzhimoe; bukvy l i f oznachayut, poyavlyaetsya li eta kolonka pri dlinnom ili polnom formate listinga; all oznachaet, chto dan- naya kolonka vyvoditsya pri lyubyh znacheniyah klyuchej. F (l) flagi (vos'merichnye), summa kotoryh daet sledu- yushchie svedeniya o processe: 01 v pamyati 02 sistemnyj process 04 v ozhidanii zavershemiya vvoda-vyvoda process fiksirovan v pamyati 10 svoppirovan 20 trassiruetsya drugim processom 40 drugie flagi trassirovki S (l) Status processa: 0 ne sushchestvuet S spyashchij process W zhdushchij process R vypolnyayushchijsya process I vypolnyaetsya preryvaemyj sistemnyj vyzov Z zavershennyj process T ostanovlennyj (stopped) process X process zakachivaetsya v pamyat' UID (f,l) UID vladel'ca processa; imya vhoda v sistemu vy- voditsya pri ukazanii opcii -f PID (all) nomer processa PPID (f,l) nomer processa-predka C (f,l) ispol'zovanie processora dlya planirovaniya STIME (f) vremya zapuska processa PRI (l) prioritet processa; bol'shee chislo oznachaet men'shij prioritet NI (l) popravka k prioritetu ADDR (l) adres processa v pamyati (ukazatel' na tablicu segmentov), esli programma rezidentnaya, inache diskovyj adres SZ (l) razmer obraza zadachi v blokah WCHAN (l) sobytie, iz-za kotorogo ozhidaet process; dlya vypolnyayushchihsya processov ne ukazyvaetsya TTY (all) terminal, s kotorogo byl zapushchen process TIME (all) vremya vypolneniya processa CMD (all) imya programmy; esli ukazan flag -f, to vyvodit- sya polnoe imya Process imeyushchij predka i zavershivshijsya, no eshche ozhidaemyj etim predkom, oboznachaetsya . Pri ukazanii flaga -f ps pytaetsya opredelit' imya i argu- menty, s kotorymi process byl sozdan v pamyati ili oblasti svop- pinga. Esli eto ne udaetsya, imya processa zaklyuchaetsya v kvadrat- nye skobki.

    3.15. sort - Sortirovka i/ili sliyanie fajlov

Format komandy: sort [ - cmu ] [ -ooutput ] [ -ykmem ] [ -zrecsz ] [ -dfiMnr ] [ -btx ] [ +pos1 [ -pos2 ]] [ files ] Sort sortiruet stroki vseh ukazannyh fajlov odnovremenno i vyvodit rezul'tat na standartnyj vyvod. Esli imena fajlov ne ukazany, ili esli v kachestve imeni fajla ukazan -, informaciya postupaet iz standartnogo vvoda. Sravneniya proizvodyatsya na osnove odnogo ili bolee polej, poluchaemyh iz kazhdoj vvodimoj stroki. Po umolchaniyu, takoe pole odno i im yavlyaetsya sama stroka; stroki uporyadochivayutsya leksi- kograficheski v sootvetstvii s kodami nabora simvolov ASCII. Sleduyushchie flagi izmenyayut poryadok raboty: -c proverit', yavlyaetsya li vhodnoj fajl uzhe otsortirovannym soglasno zadannym pravilam -m tol'ko slit' fajly; schitat' ih uzhe otsortirovannymi -u iz vseh sovpadayushchih strok vyvodit' tol'ko odnu -ooutput ukazannoe imya yavlyaetsya imenem fajla, v kotoryj nado napravit' vyvod; etot fajl mozhet sovpadat' s odnim iz fajlov vvoda. Mezhdu -o i output mogut byt' probely -ykmem po umolchaniyu sort ispol'zuet opredelennyj sistemoj ob®- em pamyati; pri zadanii etogo flaga budet ispol'zovano kmem kilobajt. Esli eto chislo bol'she ili men'she pre- del'no dopustimyh znachenij, to budet ustanovleno soot- vetstvuyushchee predel'noe znachenie. Tak, -y0 garantiruet ispol'zovanie minimal'nogo ob®ema pamyati. Po dogovoren- nosti, -y (bez argumentov) ustanavlivaet maksimal'nyj ob®em pamyati -zrecsz pri dline stroki bol'she, chem prinyato v sisteme, vypol- nenie sort zavershaetsya avarijno. Vo izbezhanie etogo mozhno ukazat' maksimal'nuyu dlinu stroki recsz v bajtah. Sleduyushchie flagi ustanavlivayut sposob uporyadocheniya strok: -d "slovarnyj" poryadok: pri sravnenii yavlyayutsya znachimymi tol'ko bukvy, cifry i probely -f preobrazovyvat' propisnye bukvy v strochnye -i ignorirovat' simvoly s kodami, ne lezhashchimi v predelah 040-0176 -M preobrazovat' pervye tri simvola v propisnye i sravnit' ih s usloviem togo, chto "JAN" < "FEB" < ... < "DEC". Ostal'nye znacheniya etih polej schitat' men'shimi "JAN". |tot flag podrazumevaet flag -b (sm. dalee) -n stroki chisel, vozmozhno soderzhashchie probely, znak -, de- syatichnuyu tochku, sortiruyutsya po znacheniyam etih chisel. |tot flag podrazumevaet flag -b (sm. dalee) -r obratnyj poryadok sortirovki Zapis' +pos1 -pos2 oznachaet, chto pole sravneniya budet na- chinat'sya v pozicii pos1 i konchat'sya v pozicii pos2. Esli -pos2 opushcheno, to podrazumevaetsya konec stroki. Ukazanie pos1 i pos2 vklyuchaet v sebya ponyatie polya - mini- mal'noj posledovatel'nosti simvolov, zavershayushchejsya razdelitelem polej ili . Po umolchaniyu, takim razdelitelem schitaet- sya pervyj vstrechennyj probel v posledovatel'nosti probelov. Vse ostal'nye probely iz etoj posledovatel'nosti schitayutsya vhodyashchi- mi v sleduyushchee pole (naprimer, vse probely v nachale stroki vho- dyat v pervoe pole). Razdeliteli polej mogut byt' zadany sleduyu- shchimi flagami: -tx ispol'zovat' v kachestve razdelitelya polej simvol x; kazhdoe vhozhdenie x yavlyaetsya znachimym (t.e. xx razdelyayut pole nulevoj dliny) -b ignorirovat' vedushchie probely pri opredelenii nachala i konca polya sravneniya Pos1 i pos2 imeyut formu: m.n i, vozmozhno, posle kazhdogo sleduyut flagi bdfinr. +m.n oznachaet (n+1)yj simvol v (m+1)om pole. Propushchennoe .n oznachaet .0. Esli ukazan flag -b, to n otschityvaetsya ot pervogo neprobela v (m+1)om pole; +m.0b ozna- chaet pervyj neprobel v (m+1)om pole. -m.n oznachaet nyj simvol (vklyuchaya razdeliteli polej) posle poslednego simvola mogo polya. Esli n opushcheno, to podrazumevaetsya .0, oznachaya poslednij simvol mogo polya. Esli ukazan flag -b, to n otschityvaetsya ot posledne- go vedushchego probela v (m+1)om pole; -m.1b oznachaet pervyj ne- probel v (m+1)om pole. Esli ukazany neskol'ko polej sravneniya, to bolee pozdnie ne ispol'zuyutsya do uporyadocheniya po bolee rannim. Esli stroki imeyut odinakovye polya sravneniya, to oni uporyadochivayutsya s uche- tom vseh simvolov. Primery. 1. Uporyadochit' soderzhimoe infile po vtoromu polyu v kachestve po- lya sravneniya sort +1 -2 infile 2. Uporyadochit' v obratnom poryadke soderzhimoe infile1 i infile2, pomestiv rezul'tat v outfile. Uporyadochenie proizvodit' po pervomu simvolu vtorogo polya sort -r -o outfile +1.0 -1.2 infile1 infile2 3. Uporyadochit' v obratnom poryadke soderzhimoe infile1 i infile2 po pervomu otlichnomu ot probela simvolu vtorogo polya sort -r +1.0b -1.1b infile1 infile2 4. Raspechatat' fajl passwd, otsortirovav ego po chislovym znache- niyam UID (tret'e pole, razdelitel' polej - :) sort -t: +2n -3 /etc/passwd 5. Raspechatat' stroki uzhe otsortirovannogo fajla infile, vyvodya lish' pervuyu iz strok s odinakovymi tret'imi polyami sort -um +2 -3 infile

    3.16. wc - Podschet kolichestva simvolov, slov i strok v fajle

Format komandy: wc [ -lwc ] [ ... ] wc podschityvaet stroki, slova i simvoly, chitaya ih iz uka- zannyh fajlov ili iz standartnogo vvoda, esli imena fajlov ne ukazany. Takzhe podschityvaetsya obshchij itog dlya vseh ukazannyh fajlov. Slovo - eto maksimal'naya stroka simvolov, ne soderzhashchaya probelov i . Flagi l, w i c mogut ispol'zovat'sya v lyuboj kombinacii, ukazyvaya, chto dolzhny vyvodit'sya kolichestvo strok, slov ili sim- volov sootvetstvenno. Po umolchaniyu ispol'zuetsya nabor -lwc. Esli v komandnoj stroke ukazany imena fajlov, to oni vyvo- dyatsya posle sootvetstvuyushchih summ.

Last-modified: Sun, 07 Aug 2005 11:49:26 GMT
Ocenite etot tekst: