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 ). V UNICOSu existuje moznost tzv. presmerovani standardnich souboru pomoci specialnich znaku v povelove radce. Povel (pouze pro sh a ksh) cat 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 <>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 >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 : h vypis povelu pro pg q opusteni povelu pg nebo 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 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 vypis nasledujici obrazovky vypis nasledujici radky = zobrazeni cisla aktualni radky v nastaveni editoru vi na aktualni radce /vzorek hledani vzorku v souboru dopredu !povel 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)