C-6 OPERACNI SYSTEM UNICOS                      


                                 Obsah                                

1.     Puvod ....................................................... 2
2.     Struktura ................................................... 2
3.     Rozsireni vuci UNIXu ........................................ 2
4.     Tvar povelu ................................................. 3
5.     Soubory ..................................................... 4
6.     Jmena souboru ............................................... 4
7.     Adresare a system souboru ................................... 5
8.     Pristupova prava souboru .................................... 6
9.     Standardni soubory, roura ................................... 7
10.    Zakladni povely pro praci se soubory ........................ 8
10.1   Vypis obsahu adresare - ls .................................. 8
10.2   Zjisteni jmena pracovniho adresare - pwd .................... 9
10.3   Zmena pracovniho adresare - cd .............................. 9
10.4   Kopirovani souboru - cp ..................................... 9
10.5   Prejmenovani souboru - mv .................................. 10
10.6   Vytvoreni adresare - mkdir ................................. 10
10.7   Ruseni souboru - rm a rmdir ................................ 10
10.8   Spojeni a vypis souboru - cat .............................. 11
10.9   Strankovani souboru - pg a more ............................ 11
10.10  Hledani vzorku v souborech - grep .......................... 12
10.11  Vypis zacatku souboru - head ............................... 12
10.12  Vypis konce souboru - tail ................................. 12
10.13  Vyriznuti vybranych sloupcu nebo poli ze souboru - cut ..... 13
10.14  Setrideni radek souboru - sort ............................. 13
10.15  Pocitani radek, slov a znaku v souborech - wc .............. 13
10.16  Osmickovy vypis souboru - od ............................... 13
10.17  Vyhledani souboru - find ................................... 14
10.18  Zmena pristupovych prav souboru - chmod .................... 14
10.19  Nastaveni pristupovych prav souboru pri jeho vytvoreni - 
                                                       umask ...... 15
10.20  Rozdilove srovnani souboru - diff .......................... 15
10.21  Seznam povelu .............................................. 16
11.    Literatura ................................................. 16


     Tato prirucka strucne seznamuje  se  zaklady  operacniho  systemu 
UNICOS na pocitaci Cray Y-MP EL ve FzU AV CR. Je urcena predevsim  za- 
catecnikum. V prikladech vyuzivame tuto konvenci pro typ pisma: to, co 
pise uzivatel na klavesnici, je zvyrazneno tucnym pismem,  s  vyjimkou 
nazvu formalnich promennych, ktere jsou ve scriptu, odezva pocitace je 
zapsana kurzivou.
     Sama tato prirucka je k dispozici v tistene  forme  u  operatorek 
Strediska automatizace a vypocetni techniky FzU AV CR v  Cukrovarnicke 
ul. i jako Chi-Writerovsky soubor v uzlu  router1@fzu.cz  (podrobnosti 
viz prirucka C-4 Pocitac Cray Z-MP EL ve FzU AV CR).


                               1. Puvod                               

     UNICOS je operacni system pocitacu  Cray.  Jeho  jmeno  muze  byt 
odvozeno z anglicke fraze "UNIx Cray Operating System"; je  tedy  ope- 
racnim systemem zalozenym na systemu UNIX. V zakladech  UNICOSu  stoji 
hlavne UNIX System V z  AT&T's  Bell  Laboratories.  Dalsim  systemem, 
ktery prispel velmi mnoho k jeho soucasne podobe, je Berkeley Software 
Distribution (BSD) UNIX. Jako vsechny systemy zalozene na UNIXu  je  i 
UNICOS napsan prevazne v programovacim jazyku C.


                             2. Struktura                             

     Struktura UNICOSu je tvorena vrstvami, ktere vytvareji hierarchii 
rozhrani, pres nez maji uzivatele  pristup  k  technickym  prostredkum 
(hardware) pocitace.
     V prvni vrstve se nachazeji tzv. shelly. Shell je program,  ktery 
pusobi jako povelove rozhrani k systemu. Shell interpretuje a  provadi 
povely, ktere zadavate, patri  tedy  mezi  tzv.  povelove  interprety. 
UNICOS podporuje tri siroce uzivane shelly:  Bourne  shell  (s  nazvem 
sh), C shell (csh) a Korn shell (ksh). Krome shellu se k prvni  vrstve 
pocitaji take tzv. vestavene  povely  (built-in  commands)  do  techto 
shellu, ktere se provadeji uvnitr nich jako podprogramy.
     Druhou vrstvu tvori tzv.  proveditelne  povely  (executable  com- 
mands), z nichz kazdy se provadi jako samostatny program  oddeleny  od 
beziciho shellu. Lze je rozdelit na utility, ktere jsou udrzovany jako 
soucast UNICOSu a k nimz patri napr. povely pro manipulaci se soubory, 
a aplikace, ktere nejsou v UNICOSu uzavreny (napr. kompilacni  systemy 
programovacich jazyku, uzivatelske programy aj.).
     Treti vrstva, tzv. jadro (kernel), je bezici operacni system. Od- 
povida za planovani zakladni jednotky, rizeni pameti a spravu souboru. 
Shell a proveditelne povely zpristupnuji jadro pres systemova  volani, 
ktera se casto vyskytuji v systemovych knihovnich rutinach.
     V srdci systemu UNICOS jsou pak  technicke  prostredky  pocitace. 
Jadro je zpristupnuje pres kod zapsany v jazyku symbolickych adres CAL 
(Cray Assembly Language).


                        3. Rozsireni vuci UNIXu                       

     Operacni system UNICOS (v soucasnosti pouzivame  verzi  7.0)  je, 
jak jiz bylo receno, odvozen ze systemu UNIX System V.  Ma  vsak  radu 
rozsireni, z nichz mezi nejdulezitejsi patri:

     . rozsireni zajistujici vysokou vykonnost vstupnich a vystupnich 
       operaci
     . zlepseny system souboru
     . zabezpeceni soubezneho zpracovani uloh 
     . rizeni zdroju (moznost nastavovani limitu na cas zakladni  jed- 
       notky (CPU), pamet, alokaci souboru, rezervaci paskovych  zari- 
       zeni aj.)
     . system zabezpecujici davkove zpracovani uloh (NQS)
     . uctovaci system (CSA)
     . komunikacni programove vybaveni TCP/IP
     . zvysena ochrana dat (MLS)

     Operacni system UNICOS take podporuje "X Window system" a pristup 
k jinym UNIXovym pocitacum (povely rlogin, remsh a rcp).
     Popis zakladnich povelu, uvedeny v teto prirucce, je vsak  platny 
pro vsechny verze UNIXu, tedy nejen pro UNICOS.


                            4. Tvar povelu                            

     Povel UNICOSu je radka s jednim nebo vice slovy, ktera jsou ukon- 
cena mezerou nebo znakem tabulatoru. Prvni slovo je vzdy jmeno povelu, 
coz byva zkratka funkce, kterou povel vykonava, napr. 

          ls

"list files". Za jmenem povelu mohou nasledovat parametry.  Nejcasteji 
se vyskytujicimi typy parametru jsou volby (options) a  jmena  souboru 
(file names). Volby jsou slova zacinajici pomlckou  ("-"),  za  kterou 
nasleduje obvykle jedno pismeno, vyjadrujici mnemotechnicky vyznam te- 
to volby, napr.

          ls -a

"list all files". Vetsinou je mozne zretezit pismena voleb za  jedinou 
pomlcku, napr.

          ls -a -C

je totez co

          ls -aC

"list all files in multiple columns".  Za  volbami  nasleduji  obvykle 
dalsi parametry, jakymi jsou napr. jmena souboru. Povel

          vi -R text

vyvola editor vi a otevre soubor text jako "read only".
     UNICOS rozlisuje velka a mala pismena prakticky na kazde  urovni, 
tedy i ve jmenech souboru, jmenech povelu a  povelovych  volbach  jsou 
rozlisovana mala pismena od velkych, napr. ab.f a Ab.f jsou jmena dvou 
ruznych zdrojovych souboru ve fortranu.
     Povely je mozne rozdelit na nekolik radek,  pokracovaci  znak  je 
"\", ktery musi byt umisten na radce jako posledni, napr.

          tpmnt  -b 9600  -f Q.1  -g TAPE  -F F  -l sl  -q 1 \
                 -p $TMPDIR/Q.1  -v CRAY27

     Povely je mozne opatrovat poznamkami, coz ma vyznam, jestlize  je 
chceme uchovavat v povelovych souborech, tzv. scenarich (scripts). Mu- 
zete napsat bud poznamkovou radku zapsanim znaku "#"  do  1.  sloupce, 
napr.

          # Preklad fortranskeho programu series.f
          cft77 series.f

anebo vlozit poznamku na povelovou radku za znak "#", napr.


          cft77 series.f  #preklad


                              5. Soubory                              

     V UNICOSu predstavuje manipulace se  soubory  (files)  vetsinu  z 
uzivatelskych naroku na operacni system. Obvykle o  souboru  uvazujeme 
jako o datech ulozenych na nejakem nezavislem mediu,  jakym  je  napr. 
disk. Takove soubory nazyvame obycejnymi (regular). V UNICOSu je pojem 
souboru za tuto predstavu znacne rozsiren a i soubory na diskach  jsou 
mnohdy vyuzivany tak, ze s beznou predstavou o  zapamatovanych  datech 
nemaji mnoho spolecneho. Mezi  tato  "nedatova"  uziti  souboru  patri 
predevsim adresare, zarizeni, roury a povely.
     Adresar (directory) je soubor, ktery obsahuje  jmena  a  umisteni 
jinych souboru, vcetne adresaru. Adresare vytvareji "strukturu" syste- 
mu souboru.
     Kazdemu vstupnimu/vystupnimu zarizeni (I/O device) je  v  systemu 
UNICOS prirazeno urcite jmeno souboru. S  temito  specialnimi  soubory 
nejsou spojena zadna diskova data, nicmene  muzete  z  techto  souboru 
cist nebo na ne zapisovat stejnym zpusobem,  jako  byste  pracovali  s 
obycejnym souborem na disku.
     Rouru (pipe) vyuzijete, jestlize chcete, aby vystup jednoho pove- 
lu byl soucasne vstupem pro jiny povel, aniz byste kvuli tomu vytvare- 
li nejaky docasny soubor na disku. Povely  takto  spojene  rourou  pak 
tvori tzv. kolonu (pipeline).
     V UNICOSu je bezne, ze povel, ktery zadate, je interpretovan jako 
jmeno urciteho programu a je tedy spojen s nejakym proveditelnym  sou- 
borem, ulozenym nekde na disku. Shell tedy srovnava  jmeno  povelu  se 
jmenem proveditelneho souboru kdesi v systemu souboru.


                           6. Jmena souboru                           

     V UNICOSu je jmenem souboru retezec  do  delky  1023  libovolnych 
ASCII znaku krome znaku binarni nuly ("\0"), ktery je systemem  pouzi- 
van jako znak konce textoveho retezce (a  tedy  i  jmena  souboru),  a 
znaku "/", ktery je pouzivan pro urceni mista souboru v systemu soubo- 
ru. Nektere znaky vsak maji zvlastni  vyznam  a  proto  se  doporucuje 
omezit se pri vytvareni jmen souboru pouze na tuto mnozinu:

          . velka a mala pismena (A-Z, a-z)    (nezapomente, ze UNICOS 
                                                  mezi nimi rozlisuje)
          . cislice (0-9)
          . tecka (".")
          . znak podtrzeni ("_")

Znaky "*", "?", "[" a "]" ve jmenu souboru predstavuji tzv.  metaznaky 
(metacharacters), ktere naznacuji, ze jmeno ma byt pouzito jako  vzor, 
jenz ma byt nahrazen seznamem vsech jmen souboru,  ktera  se  s  timto 
vzorem shoduji. 

   u---------------------------------------------------------------o
   p   Metaznak                 Vyznam                             p
   u---------------------------------------------------------------o
   p      *        jakykoli pocet vyskytu jakehokoli znaku         p
   p      ?        jakykoli jeden znak                             p
   p    [...]      jakykoli znak z mnoziny znaku uvnitr zavorek    p
   p    [x-z]      jakykoli ze znaku v rozsahu od "x" do "z"       p
   [---------------------------------------------------------------]

Prohledavani podle vzoru nezahrnuje tecku (".") na zacatku jmena  sou- 
boru. Tento znak musi byt zadan explicitne.
     Sam UNICOS neomezuje uzivatele pri vytvareni jmen souboru,  avsak 
mnohe utility nebo aplikace maji pro jejich vytvareni sva vlastni pra- 
vidla. Uvedme nektera nejdulezitejsi:

a) Zneviditelnene soubory
     Jakykoli soubor, jehoz jmeno  zacina teckou ("."),  napr.  .exrc, 
.login, .profile, .mailrc aj., je zneviditelneny (hidden) pro  utility 
(napr. ls), ktere generuji seznam jmen souboru.

b) Programy
     Vetsina prekladacu a programovych utilit pouziva odlisnych  suf- 
fixu jmen souboru k oznaceni jejich typu:

          series1.c   zdrojovy soubor v jazyku C
          series2.f   zdrojovy soubor ve fortranu
          series.o    premistitelny soubor

c) Fortransky vstup/vystup
     Fortranske prikazy READ a WRITE vykonavaji  implicitne  vstup/vy- 
stup ze/do souboru pojmenovanych fort.n, kde n reprezentuje cislo for- 
transke vstupni/vystupni jednotky, napr. z/do  souboru  fort.17  mohou 
byt data ctena/zapisovana prikazem  READ(17)/WRITE(17).  Podrobneji  o 
tom pojednava prirucka C-1: Zpracovani programu ve fortranu.


                     7. Adresare a system souboru                     

     Soubory v  UNICOSu  jsou  organizovany  v  "prevracene"  stromove 
strukture, kterou umoznuji vytvaret adresare. Adresar,  jak  jiz  bylo 
zmineno vyse, je zvlastni typ souboru, ktery obsahuje  seznam  jmen  a 
umisteni dalsich souboru. Dalo by se tedy rici, ze adresare  vytvareji 
ve stromove strukture vetve, zatimco  obycejne  soubory  tvori  listy. 
Kdyz rikame, ze nejaky "adresar obsahuje soubor", myslime tim vlastne, 
ze tento adresar obsahuje odkaz na umisteni daneho souboru. O  adresa- 
ri, ktery obsahuje druhy adresar, se mluvi jako o nadrazenem  adresari 
druheho adresare, a naopak druhy adresar se nazyva podadresarem  (sub- 
directory) adresare prvniho.
     Na vrcholu struktury souboru je tzv. korenovy adresar  (root  di- 
rectory), jehoz jmeno je znak "/". Kazdy soubor v UNICOSu muzeme iden- 
tifikovat zretezenim adresaru. Toto zretezeni muze byt bud tzv.  abso- 
lutni nebo relativni cesta k souboru.
      Absolutni cesta (absolute path)  zacina  korenovym  adresarem  a 
postupuje "dolu" po stromove strukture, jmena jednotlivych podadresaru 
i vlastni jmeno souboru se navzajem oddeluji lomitkem ("/"). Napr.

          /home/novak/series.f

vytvari absolutni cestu, kde series.f je  fortransky  zdrojovy  soubor 
obsazeny v adresari novak, jehoz nadrazenym adresarem je adresar home, 
jehoz nadrazenym adresarem je / (korenovy  adresar).  Absolutni  cestu 
muzete pouzit vzdy, kdyz UNICOS vyzaduje jmeno souboru.
     Pri vytvareni relativni cesty (relative path)  vychazime  z  tzv. 
pracovniho adresare (working directory) smerem k souboru, na  nejz  se 
chceme odkazat. Pracovni adresar je adresar, o kterem  UNICOS  predpo- 
klada, ze z neho odkazujete na soubory. Tak  napriklad,  jestlize  Vas 
pracovni adresar je /home/novak, pak na soubor uvedeny vyse muzete od- 
kazat pouze jeho jmenem

          series.f

Na pracovni adresar se muzete odkazat znakem "." (tecka), na jeho nad- 
razeny adresar retezcem ".." (dve tecky). Jestlize Vas pracovni  adre- 
sar je /home/novak, pak na soubor

          /home/novy/struct.f

se muzete odkazat relativni cestou

          ../novy/struct.f

     Pokazde, kdyz se pripojite k operacnimu systemu UNICOS, jste  na- 
staveni na jeden urcity pracovni adresar, ktery se nazyva domovsky ad- 
resar (home directory). Jeho absolutni cesta je hodnotou promenne pro- 
stredi HOME, takze se na soubor muzete odkazat

          $HOME/series.f


                      8. Pristupova prava souboru                     

     Pristup k souborum v UNICOSu je povolen pres tzv. pristupova pra- 
va (file permissions), kterych ma kazdy soubor devet. Pristupova prava 
jsou rozdelena do tri kategorii, z nichz kazda ma tri  typy.  Kazde  z 
techto deviti pristupovych prav muze byt bud povoleno (on) nebo  zaka- 
zano (off). Uzivatel se muze podivat na  pristupova  prava  u  kazdeho 
souboru, ke kteremu ma pristup povolen, a tato pristupova  prava  muze 
menit u kazdeho souboru, jehoz je vlastnikem.
     Kategorie pristupovych prav jsou tyto:

          Uzivatel u (user)   pristupova prava se vztahuji na vlastni- 
                              ka souboru.
          Skupina g (group)   pristupova prava se vztahuji na  skupinu 
                              uzivatelu spojenou s danym souborem. Im- 
                              plicitne je tato skupina  skupinou,  je- 
                              jimz clenem je vlastnik souboru.
          Ostatni o (others)  pristupova prava se vztahuji na  kohoko- 
                              li, kdo neni ve skupine spojene se  sou- 
                              borem.

     Typy pristupovych prav jsou cteni r (read),  zapis  w  (write)  a 
provedeni x (execute).
     Pro obycejne soubory typ r umoznuje prohlednout si obsah souboru, 
typ w umoznuje zmenit jeho obsah a typ  x  provest  dany  soubor  jako 
povel.
     Pro adresare typ r umoznuje zpristupnit jmena souboru z  adresare 
a typ w vytvorit, zrusit nebo prejmenovat soubory z  adresare.  Typ  x 
pusobi u adresaru ve funkci jakehosi "globalniho pristupoveho  prava", 
nebot nema smysl hovorit o "provedeni" adresare. Jestlize x je pro ur- 
citou kategorii zakazano, uzivatele z teto kategorie nemohou tento ad- 
resar pouzit v zadne absolutni ani relativni ceste k souborum v  tomto 
adresari, i kdyz r a w jsou pro adresar povoleny. Jestlize x je u  ad- 
resare povoleno a r a w jsou pro stejnou kategorii zakazany, uzivatele 
z teto kategorie stale jeste mohou pouzit povel cd k tomu, aby se ten- 
to adresar stal pracovnim a provadet z neho soubory, ktere maji  povo- 
len typ x, ale nemohou dostat o souborech v adresari informace a nemo- 
hou v tomto adresari soubory vytvaret, rusit nebo prejmenovavat.
     Priklad:

          $ ls -l text
          -rw-r-----   1 novak   operator    2769 Jan 27 17:15 text

Prvni znak ve vypisu atributu souboru text ("-") oznacuje, ze se jedna 
o obycejny soubor, za nim nasleduji pristupova  prava  souboru.  Prvni 
trojice ("rw-") rika, ze vlastnik souboru ma povoleno  soubor  cist  a 
prepisovat, druha trojice ("r--") pak informuje o povoleni cteni  sou- 
boru pro skupinu a treti trojice ("---") o tom, ze  ostatni  uzivatele 
maji k souboru vsechna pristupova prava zakazana.


                     9. Standardni soubory, roura                     

     V UNICOSu  jsou  k  dispozici  pro  kazdy  vyvolany  program  tri 
standardni soubory: standardni  vstup  (stdin,  implicitne  klavesnice 
terminalu, s deskriptorem 0), standardni  vystup  (stdout,  implicitne 
obrazovka terminalu, s deskriptorem 1)  a  standardni  chybovy  soubor 
(stderr, implicitne tez obrazovka terminalu s deskriptorem  2),  ktery 
je urcen pro diagnosticka a chybova hlaseni. Napr. povel

          $ rm  -i  file
          file: ? _

ktery ma zrusit soubor file, vyzaduje potvrzeni ke zruseni  ze  stan- 
dardniho vstupu (klavesnice), kdyz predtim na standardni vystup (obra- 
zovku) vypsal jmeno ruseneho souboru.
     Povel bez parametru

          cat

bude kopirovat radky zapsane z klavesnice na obrazovku (dokud jej neu- 
koncite stiskem <Ctrl-d>).
     V UNICOSu existuje moznost tzv. presmerovani standardnich souboru 
pomoci specialnich znaku v povelove radce. Povel (pouze pro sh a ksh)

          cat  <vstup  >vystup  2>chyby

bude nyni cist radky ze souboru vstup, kopirovat je do souboru  vystup 
a pripadna chybova hlaseni bude zapisovat do souboru chyby. V teto po- 
velove radce jsme tedy presmerovali vsechny tri standardni soubory.
     Povel

          cat  >vystup  <<EOF
               ...
              data
               ...
          EOF

bude kopirovat radky za povelovou radkou do souboru vystup,  dokud  se 
neobjevi radka obsahujici od prvniho sloupce retezec "EOF".
     Povel

          cat  <vstup  >>pridat

pripoji obsah souboru vstup na konec souboru pridat.
     Konstrukci ">& outerr" v povelove radce (pouze pro csh) zajistite 
presmerovani souboru stdout a stderr do jedineho souboru outerr.
     Dalsim zpusobem manipulace se standardnim vstupem a  vystupem  je 
tzv. roura. Vyuzijete ji tehdy, jestlize vystup jednoho povelu ma  byt 
vstupem pro povel jiny. Napr. povelovou radkou

          $ ls | pg

(zde "|" je svisla cara, nikoli strednik) dosahnete toho, ze vystup  z 
povelu ls se stane vstupem pro povel pg a tedy obsah pracovniho  adre- 
sare (ls) se bude vypisovat po strankach (pg) na obrazovku.


               10. Zakladni povely pro praci se soubory               

     V teto kapitole najdete nektere dulezite povely pro praci se sou- 
bory. Neni zde uveden jejich uplny popis, ten nalezne zajemce  v  pri- 
rucce [2]. Omezili jsme se spise na vyber voleb, se kterymi se i zaca- 
tecnik setkava pri praci s UNICOSem velmi casto. V poslednim  odstavci 
kapitoly je abecedne serazeny seznam povelu z teto kapitoly  s  jejich 
heslovitym vyznamem.


10.1 Vypis obsahu adresare - ls

     Povel ls (list) vypise obsah adresare pro uvedene adresarove  pa- 
rametry. Pokud je parametrem jmeno souboru, povel opise jeho  jmeno  a 
pripoji ostatni pozadovane informace.  Jestlize  neni  zadny  parametr 
uveden, povel vypise obsah pracovniho adresare. Implicitne  je  vystup 
triden v abecednim poradi.

     Povelem

          ls  -a  /home/novak/SCR

vypisete seznam vsech ("all") souboru vcetne zneviditelnenych (jejichz 
jmena zacinaji teckou) v adresari /home/novak/SCR.

          ls  -F  *c*

Volba "-F" prida v uvedenem povelu tzv. souborovou znacku  (file  mar- 
ker) za jmena souboru pro rozliseni jejich typu. Jmeno kazdeho  prove- 
ditelneho souboru bude nasledovano hvezdickou ("*"), jmeno kazdeho ad- 
resare lomitkem ("/"). Povel vypise vsechny soubory (ne vsak  znevidi- 
telnene), obsahujici ve svem jmenu znak "c".

          $ ls  -ld  TESTY
          drwxr-x---   2 novak   operator    4096 Jul  2 11:14 TESTY

Tento povel vypise atributy adresare ("-d")  TESTY  v  dlouhem  ("-l") 
formatu. Atributy nasleduji v tomto poradi: Prvni znak (zde "d")  cha- 
rakterizuje typ souboru ("-" znamena obycejny soubor, "d" adresar, "l" 
neprimy odkaz na soubor), za nim nasleduje devet znaku,  ktere  urcuji 
pristupova prava souboru (viz odst. 8). Po atributu pristupovych  prav 
je uveden pocet odkazu na soubor z ruznych mist systemu  souboru  (zde 
2) a dale nasleduje jmeno vlastnika souboru ("novak"), skupina souboru 
("operator"), velikost souboru v bytech (4096), datum (Jul  2)  a  cas 
(11:14) posledni modifikace souboru. Poslednim vypsanym  atributem  je 
jmeno souboru ("TESTY").
     Povel

          ls  -R

vypise rekurzivne i obsahy podadresaru pracovniho adresare.


10.2 Zjisteni jmena pracovniho adresare - pwd

     Povel pwd (print working directory) zobrazi absolutni cestu k Va- 
semu pracovnimu adresari:

          $ pwd
          /home/novak/SCRIPTY/S1


10.3 Zmena pracovniho adresare - cd

     Povel cd (change directory) zmeni Vas pracovni adresar na adresar 
uvedeny jako parametr. Jestlize zadny adresar neuvedete, stane se pra- 
covnim adresarem Vas domovsky adresar.

          cd  SCRIPT

Timto povelem jste se dostali z pracovniho adresare do jeho podadresa- 
re SCRIPT, ktery se stal novym pracovnim adresarem.

          cd  ..

Tento povel Vas v systemu souboru posunul "o jednu vetev blize ke  ko- 
renu" - pracovnim adresarem se stal nadrazeny adresar stavajiciho pra- 
covniho adresare.


10.4 Kopirovani souboru - cp

     Povel cp (copy) kopiruje obsah jednoho souboru do jineho nebo ko- 
piruje jeden nebo vice souboru do jineho adresare.

          cp  file1  file2

Povel zkopiroval soubor file1 do souboru file2.

          cp  file3  newdir/cfile3

Povel zkopiroval soubor file3 do podadresare newdir,  kopie  ma  jmeno 
cfile3.

          cp  b*  Bsoubory

Povel zkopiroval vsechny soubory z pracovniho adresare, jejichz  jmena 
zacinaji pismenem "b", do podadresare Bsoubory.


10.5 Prejmenovani souboru - mv

     Povel mv (move) prejmenuje jeden soubor v ramci jednoho  adresare 
nebo presune jeden nebo vice souboru mezi dvema adresari. 

          mv  file1  file2

Povel prejmenuje soubor file1 na file2.

          mv  r*  Radresar

Povel presune vsechny soubory v pracovnim adresari, jejichz jmena  za- 
cinaji pismenem "r", do podadresare Radresar.


10.6 Vytvoreni adresare - mkdir

     Povel mkdir umoznuje vytvorit novy adresar.

          mkdir Testy

Povel vytvori novy adresar Testy, ktery bude podadresarem Vaseho  pra- 
covniho adresare.


10.7 Ruseni souboru - rm a rmdir

     Povelem rm (remove) muzete rusit obycejne soubory, povelem  rmdir 
(remove directory) pak rusit adresare, ktere vsak musi byt v  okamziku 
ruseni prazdne, tj. nesmi obsahovat zadne soubory ani podadresare.

          rm  test1

Povel rusi soubor test1 v pracovnim adresari.  Ruseni  probiha  zhruba 
takto: Kazdy soubor je ve strukture systemu souboru reprezentovan tzv. 
identifikacnim uzlem, dale jen i-uzlem (i-node), coz je zaznam,  ktery 
obsahuje vsechny atributy souboru (napr. informace o tom,  zda  soubor 
je adresarem nebo obycejnym souborem, kdo je jeho vlastnikem,  pristu- 
pova prava aj.; viz povel ls s volbou "-l" v odstavci 10.1)  a  odkazy 
na datovou cast souboru. Uvedeny povel zrusi odkaz z pracovniho  adre- 
sare a snizi hodnotu poctu odkazu o 1. Je-li pote tato  hodnota  vetsi 
nez nula, system rozpoji pouze vazbu mezi jmenem souboru a  prislusnym 
i-uzlem. Je-li hodnota nulova, obsah souboru je zrusen a soubor  zani- 
ka.

          rm  -i  *.o

Povel zrusi vsechny premistitelne soubory, zruseni kazdeho souboru  je 
zapotrebi potvrdit odpovedi y. Jine odpovedi zpusobi, ze soubor zrusen 
nebude.

          rmdir Testy1

Povel zrusi adresar Testy1, pricemz tento adresar musi byt prazdny.

          rm -r Testy

Volbou "-r" dosahnete rekurzivniho zruseni vsech podadresaru (a soubo- 
ru v nich) adresare Testy a zruseni jeho sameho.


10.8 Spojeni a vypis souboru - cat

     Povel cat (concatenate) cte soubory specifikovane v povelove rad- 
ce a vypisuje je na standardni vystup. Lze jim take spojit obsah neko- 
lika souboru do jednoho.

          cat  file1

Povel vypise soubor file1 na standardni vystup.

          cat  file1  file2  >file3

Tento povel spoji soubory file1 a file2 a vysledek zapise  do  souboru 
file3.

          cat <file1 >>file2

Tento povel pripise soubor file1 na konec souboru file2.


10.9 Strankovani souboru - pg a more

     Povely pg a more umoznuji zobrazovat obsah souboru  po  strankach 
(tj. zaplnenych obrazovkach).
     Povel pg (page) napise na posledni radce obrazovky znak  ":",  za 
nim muzete uvest napr. nektery  z  nasledujicich  povelu  a  stisknout 
<Enter>:

          h                   vypis povelu pro pg
          q                   opusteni povelu pg
          <mezera> nebo 
          <Enter>             vypis nasledujici stranky
          l                   vypis nasledujici radky
          d                   vypis pulky nasledujici stranky
          $                   vypis posledni stranky
          s soubor            zapis zpracovavaneho souboru do souboru
          /vzorek/            hledani vzorku v souboru dopredu
          ?vzorek?            hledani vzorku v souboru dozadu
          !povel              provedeni povelu shellem
          +nl                 posun o n radek dopredu
          -nl                 posun o n radek dozadu

     Povel more napise na posledni radce obrazovky text ve tvaru

          --More--(28%)

pro orientaci, kde se v souboru nachazime. Opet muzeme uvest radu  po- 
velu, ktere se provedou okamzite, takze obvykle jiz <Enter> nepotrebu- 
jete:

          h                   vypis povelu pro more
          q                   opusteni povelu more
          f                   vypis nasledujici obrazovky
          b                   vypis predchozi obrazovky
          ns                  posun o n radek dopredu
          <mezera>            vypis nasledujici obrazovky
          <Enter>             vypis nasledujici radky
          =                   zobrazeni cisla aktualni radky
          v                   nastaveni editoru vi na aktualni radce
          /vzorek             hledani vzorku v souboru dopredu
          !povel<Enter>       provedeni povelu shellem
          .                   opakovani posledniho povelu


10.10 Hledani vzorku v souborech - grep

     Povel grep  prohledava zadane soubory a vypisuje  vsechny  radky, 
ktere dany vzorek obsahuji. Vzorek je vhodne  zapisovat  do  apostrofu 
('...').

          $ grep  '1234.56'  data1  data2
          data1: 0 1   1234.567
          data2: 3 5  71234.56
          data2: 7 9   1234.56

Povel vypsal vsechny radky ze souboru data1 a  data2,  ktere  obsahuji 
"cislo" 1234.56, na pocatku kazde radky je uvedeno  jmeno  souboru,  k 
nemuz nalezena radka patri.

          grep  -v  'a*b'  text

Povel vypise vsechny radky souboru text, ktere neobsahuji ("-v")  znak 
"a" nasledovany kdekoli dale na radce znakem "b".


10.11 Vypis zacatku souboru - head

     Povel head vypise zadany pocet (implicitne 10) prvnich radek uve- 
deneho souboru na standardni vystup.

          head  -3  file

Povel vypise prvni tri radky souboru file.


10.12 Vypis konce souboru - tail

     Povel tail zkopiruje zadany soubor na standardni vystup od stano- 
veneho mista (implicitne poslednich deset radek).

          tail  -3  file

Povel vypise posledni 3 radky souboru file.

          tail  -15c  file

Povel vypise poslednich 15 znaku souboru file.


10.13 Vyriznuti vybranych sloupcu nebo poli ze souboru - cut

     Povel cut vyrizne vybrane sloupce nebo pole z kazde radky souboru 
a zapise je na standardni vystup.

          cut  -c1-3,7  text

Povel vyrizne prvni az treti a sedmy sloupec ze souboru text.

          cut  -d:  -f1,5  /etc/passwd

Tento povel provede zobrazeni uzivatelskych oznaceni na jmena. Ze sou- 
boru /etc/passwd se vyrizne prvni (uzivatelske oznaceni) a pate  (jme- 
no) pole, stanovenym omezovacem pole je znak ":".


10.14 Setrideni radek souboru - sort

     Povel sort setridi radky uvedenych souboru a vysledek  zapise  na 
standardni vystup.

          sort  vstup1  vstup2  >vystup

Povel setridi abecedne radky souboru vstup1 a vstup2 a vysledek zapise 
do souboru vystup.


10.15 Pocitani radek, slov a znaku v souborech - wc

     Povel wc pocita radky, slova a znaky v uvedenych souborech nebo v 
standardnim vstupu.

          $ cat  abec
          a bc def
          ghi jk l
          $ wc  abec
                2        6         18  abec

Povel wc zjistil, ze v souboru abec jsou 2 radky, 6 slov  a  18  znaku 
(vcetne znaku pro "novy radek").


10.16 Osmickovy vypis souboru - od

     Povel od (octal dump) vypise obsah souboru  v  osmickovem  (volba 
"-o"), sestnactkovem ("-x"), desitkovem ("-d")  nebo  znakovem  ("-c") 
tvaru. Znakovy vypis znamena, ze vsechny bezne zobrazitelne ASCII zna- 
ky jsou vypisovany svym obsahem a ostatni ve svem ekvivalentu v osmic- 
kove soustave. Povel je vhodny na prohlizeni binarnich souboru.

          od  -c  .

Povel vypise obsah pracovniho adresare. (Na tomto priklade se jen  se- 
znamite s tvarem vypisu pomoci od, bezne pro danou  situaci  pouzijete 
jiste spise povel ls.)


10.17 Vyhledani souboru - find

     Povel find vyhleda soubory podle nekterych jejich atributu v dane 
casti stromove struktury souboru.

          find  .  -name  text  -print

Povel prohleda podstrom zacinajici pracovnim adresarem (".") a  vypise 
("-print") absolutni cesty ke vsem adresarum, v nichz je soubor text.

          find  /home/novak/STRUCT  -name core  -exec rm {} \;

Povel vyhleda v  podstromu  zacinajicim  adresarem  /home/novak/STRUCT 
vsechny soubory se jmenem core a zrusi je.

          find  /home  -user novak  -type d  -print

Povel vypise vsechny adresare ("d") v podstromu /home,  ktere  vlastni 
uzivatel novak.


10.18 Zmena pristupovych prav souboru - chmod

     Povel chmod meni pristupova prava souboru.  Zmenu  muzete  zapsat 
bud ciselne nebo mnemotechnicky.  Pri  ciselnem  zapisu  specifikujete 
pristupova prava cislem v osmickove (oktalove) soustave. Mnemotechnic- 
ky zapis vychazi ze zadani kategorie: vlastnik souboru ("u"),  skupina 
("g"), ostatni ("o") nebo vsichni ("a") uzivatele,  a  typu:  "r"  pro 
cteni, "w" pro zapis a "x" pro provadeni. Je mozne vlastnikovi, skupi- 
ne, ostatnim nebo vsem pristupova prava nastavit ("="), pridelit ("+") 
nebo odebrat ("-").

          chmod  775  text

Povel nastavuje pristupova prava souboru text zpusobem

          rwxrwxr-x
          111111101
           7  7  5

coz odpovida hodnote jednotlivych cislic ve dvojkove soustave vzdy pro 
trojici bitu kazde kategorie.

          chmod  u=rwx,g+r  file

Povel nastavi pro vlastnika souboru file moznost cteni, zapisu a  pro- 
vadeni a pro skupinu pripoji moznost cteni souboru file.


10.19 Nastaveni pristupovych prav souboru pri jeho vytvoreni - umask

     Povelem umask s trojici osmickovych cislic  (viz  povel  chmod  v 
odst. 10.18) muzete systemu sdelit, ktera pristupova prava pro jednot- 
live kategorie od tohoto okamziku zakazujete. Povel bez teto osmickove 
trojice vypise aktualni hodnotu teto masky.

          $ umask
          027

Pro vlastnika souboru neni zakazano nic ("0"), pro skupinu je  zakazan 
zapis ("2") a pro  ostatni  jsou  zakazana  vsechna  pristupova  prava 
("7").

          umask 077

Povel nezakazuje zadna pristupova prava ("0") pro vlastnika souboru  a 
zakazuje ("7") vsechna pristupova prava pro skupinu a ostatni u vytva- 
renych souboru.


10.20 Rozdilove srovnani souboru - diff

     Povelem diff muzete vypsat odlisnosti mezi dvema  soubory  pomoci 
radek, ktere byste meli pridat, zrusit nebo  zamenit,  abyste  dosahli 
shody obsahu obou souboru.

          $ cat  f1
          A
          B
          C
          E
          $ cat  f2
          B
          C
          D
          E
          $ diff  f1  f2
          1d0
          < A
          3a3
          > D

V uvedenem prikladu srovnavame obsah souboru f1 a  f2.  Vystup  povelu 
diff rika, ze by bylo zapotrebi zrusit ("1d0") radku 1 ("1d0") prvniho 
souboru ("A"), aby se shodoval obsah pocinaje vrcholem ("1d0") druheho 
souboru a pridat ("3a3") radku ("D") na treti misto ("3a3") do prvniho 
souboru, aby doslo ke shode od treti radky ("3a3") druheho souboru.


10.21 Seznam povelu

     u---------------------------------------------------------------o
     p    cat       spojeni a vypis souboru                          p
     p    cd        zmena pracovniho adresare                        p
     p    chmod     zmena pristupovych prav souboru                  p
     p    cp        kopirovani souboru                               p
     p    cut       vyriznuti vybranych sloupcu nebo poli ze souboru p
     p    diff      rozdilove srovnani souboru                       p
     p    find      vyhledani souboru                                p
     p    grep      hledani vzorku v souborech                       p
     p    head      vypis zacatku souboru                            p
     p    ls        vypis obsahu adresare                            p
     p    mkdir     vytvoreni adresare                               p
     p    more      strankovani souboru                              p
     p    mv        prejmenovani souboru                             p
     p    od        osmickovy vypis souboru                          p
     p    pg        strankovani souboru                              p
     p    pwd       zjisteni jmena pracovniho adresare               p
     p    rm        ruseni obycejnych souboru                        p
     p    rmdir     ruseni adresaru                                  p
     p    sort      setrideni radek souboru                          p
     p    tail      vypis konce souboru                              p
     p    umask     nastaveni pristupovych prav souboru              p
     p    wc        pocitani radek, slov a znaku v souborech         p
     [---------------------------------------------------------------]


                            11. Literatura                            

     Pro pocatecni seznameni s operacnim systemem  UNICOS  je  vhodnou 
priruckou [1], popis vsech uzivatelskych povelu lze nalezt v [2].

[1]  UNICOS Primer (SG-2010)
[2]  UNICOS User Commands Reference Manual (SR-2011)