UNIXová kartička
Transkript
OPERAČNÍ SYSTÉM UNIX ŠPETKA HISTORIE Operačnı́ systém UNIX umožňuje současnou práci vı́ce uživatelů (multiuser) a možnost současného spuštěnı́ vı́ce úloh (multitasking). Jeho počátky spadajı́ do šedesátých let tohto stoletı́, kdy v Bellových laboratořı́ch firmy AT&T vznikl projekt nového operačnı́ho systému MULTICS. Ten však nebyl dokončen a lidé (Ken Thompson, Dennies Ritchie), podı́lejı́cı́ se na tomto projektu, se rozhodli pokračovat a začali vyvı́jet zprvu jednoduchý operačnı́ systém UNICS, z kterého se postupem času vyvinul velice mocný operačnı́ systém označovaný jako UNIX. Jeho implementace na různých hardwarových platformách jsou označovány tak, aby tento název trochu připomı́nali: LINUX (PC), IRIX (SGI), AIX (IBM). Historicky probı́hal vývoj UNIXu ve dvou základnı́ch větvı́ch: System V a BSD (viz obrázek). To má za následek, že některé UNIXové programy se na různých verzı́ch UNIXu od sebe trochu odlišujı́. UNIX Genealogy Podle knihy Essential System Administration Autor AEleen Frisch, 1995 Ken Thompson Dennis Ritchie Bill Joy Version 6 1975 BSD Version 7 1977 1979 XENIX 1979 NÁPOVĚDA UNIX rozlisˇuje již při přihlášenı́ malá a velká pı́smena! A rozlišuje je samozřejmě i po přihlášenı́, tj. napřı́klad ve jménech souborů, programů, parametrů apod. Přihlášenı́ (přilogovánı́) lze provést bud’ přı́mo na konzoli (grafické, textové) UNIXového počı́tače nebo vzdáleně třeba pomocı́ programu telnet. V zásadě je nutné správně zadat dvě položky: V UNIXu existuje propracovaný systém elektronické nápovědy označovaný jako tzv. manuálové stránky (man pages). Vyvolánı́ této nápovědy lze pomocı́ programu man. S volbou -k lze zı́skat seznam manuálových stránek podle zadaného klı́čového slova. login: Password: uživatelské jméno (username) heslo ODHLÁŠENÍ Po ukončenı́ práce je třeba se odhlásit jak z lokálnı́ho počı́tače, tak ze všech otevřených spojenı́ na jiné počı́tače! Zároveň je třeba ukončit všechny programy nebo aplikace, u kterých nechcete, aby zůstaly běžet po odhlášenı́. ukončenı́ shellu grafické rozhranı́ exit, logout nebo CTRL-D Exit Fvwm z menu desktopu (na LINUXu) nebo Logout v menu Toolchest (na SGI) SHELLY AT&T Bell Labs 1969-70 PŘIHLÁŠENÍ System III 1982 4.2 BSD System V.2 1984 1984 4.3 BSD System V.3 1985 1986 Shell zpracovává přı́kazy zadané uživatelem. Existujı́ dva základnı́ shelly, Bourne a C-shell, od kterých jsou potom i odvozeny jejich vylepšené verze, které umožňujı́ napřı́klad snadný návrat k historii přı́kazů a editaci přı́kazové řádky: sh ksh bash Bourne shell Korn shell Bourne again shell csh tcsh C-shell T-C-shell U různých typů shellů se může trochu lišit syntaxe při zadávánı́ přı́kazů – to se hlavně týká přesměrovánı́ vstupů a výstupů a při práci s tzv. environment proměnnými. ZÁKLADNÍ SCHÉMA ZADÁVÁNÍ PŘÍKAZŮ Na přı́kazové řádce lze nejčastěji rozlišit tři části 4.4. BSD OSF/1 System V.4 1993 1992 1988 <command> command options params IRIX [options] [params] jméno přı́kazu nebo programu volby daného přı́kazu, které ovlivňujı́ činnost programu (např. tvar výpisu) parametry (např. vstupnı́ soubory dat) Volby přı́kazu jsou nejčastěji jednopı́smenné a jsou uvozeny pomlčkou (-). Vı́ce voleb (např. -l -a) lze spojovat dohromady (-la). Vı́ce přı́kazů na jednom řádku lze oddělit střednı́kem (;). Linux Solaris Karel Petera a Martin Dostál Ústav procesnı́ a zpracovatelské techniky Fakulta strojnı́ ČVUT v Praze ls -l /etc ls /etc; date ls -l -a /etc ls -la /etc man ls man -k zip SOUBORY A ADRESÁŘE V UNIXu neexistuje obdoba označenı́ disků A:, C: jako v systému M$ DOS (Windows). Stromová struktura adresářů vycházı́ z kořene (/) a větvı́ se dále. Pro oddělovánı́ adresářů v názvu cesty k nějakému souboru je na rozdı́l od DOSu použı́ván znak normálnı́ho lomı́tka /, nikoliv zpětného \. Znak tečky . odkazuje na aktuálnı́ adresář, dvě tečky .. na nadřazený adresář. Vlnovka ˜ odkazuje na domovský adresář přı́slušného uživatele. /tmp/html.zip ./index.htm ../Dummy.htm ˜/UNIX.JPG V názvech souborů a adresářů se rozlišujı́ malá a velká pı́smena! Lze použı́vat názvy delšı́ než je 8 znaků (M$ DOS) a znak tečky uvnitř názvu je jeho součástı́ – nemá speciálnı́ význam pro oddělenı́ přı́pony. /usr/tmp/soubor.se.tremi.teckami_v_nazvu Regulárnı́ výrazy (hvězdičková notace) Při odkazu na vı́ce souborů lze využı́t speciálnı́ch znaků, které v názvu zastupujı́ výskyt nějakých znaků: nula nebo vı́ce libovolných znaků jeden libovolný znak výčet znaků * ? [abc] Přı́klady: file* file.* file.[el]* file*[0-9] --> file.err file1 --> file.err --> file.err --> file1 file.log file2 file.log file.log file2 Přı́kazy pro práci se soubory a adresáři pwd cd ls mkdir výpis aktuálnı́ho adresáře změna aktuálnı́ho adresáře výpis obsahu adresáře -l podrobnějšı́, dlouhý (long) výpis -a vypisuje skryté soubory vytvořenı́ adresáře file.out file.out rmdir cp rm mv file cat more smazánı́ adresáře (nesmı́ obsahovat žádné soubory) kopı́rovánı́ souborů mazánı́ souborů -r včetně adresářů a souborů přejmenovánı́, přesunutı́ souborů určenı́ typu souboru výpis souboru (obecně kopı́ruje std. vstup na std. výstup) výpis obsahu souboru po stránkách PŘESMĚROVÁNÍ VSTUPŮ A VÝSTUPŮ PROCESY Standardnı´ vstup nebo výstup spolu se standardnı́m chybovým výstupem je většinou spojen s klávesnicı́ a monitorem (obrazovkou) počı́tače. V UNIXu exituje mechanismus, který umožňuje přeměrovat obsah souboru na vstup nějakého programu a nahradit tak vstup z klávesnice. Dále je možné přesměrovat standardnı́ výstup do souboru, aby nebyl vypisován na obrazovku. Spušteˇný a běžı́cı́ program se v UNIXu většinou označuje jako proces. Operačnı́ systém každému procesu přiřazuje jedinečné identifikačnı́ čı́slo (PID). PŘÍSTUPOVÁ PRÁVA Přesměrovánı́ standardnı́ho výstupu a vstupu V UNIXu se jsou definovány tři základnı́ kategorie pro přı́stup k souborům a procesům. Pro každou kategorii lze definovat tři základnı́ druhy přı́stupových práv k souborům. Znakem > lze přesměrovat standardnı́ výstup do souboru, uvedeného za tı́mto znakem. Dvojice znaků >> přı́pojı́ výstup na konec již existujı́cı́ho souboru. Kategorie vlastnı́k (owner, user) skupina uživatelů (user group) ostatnı́ (others) Přı́stupová práva čtenı́ (read) zápis (write) spustitelnost (executable) Ve výpisu přı́kazu ls s volbou -l lze odhalit, komu patřı́ přı́slušný soubor (adresář), jaké skupině uživatelů je přiřazen a jaká má nastavena přı́stupová práva pro jednotlivé kategorie uživatelů. Z následujı́cı́ho přı́kladu lze odhalit, že uvedené soubory patřı́ uživateli novak a skupině user. -rw-r--r-drwxr-xr-x 1 novak 2 novak user user ... ... file.out zkouska V prvnı́m sloupci je dále 10 znaků, z nichž prvnı́ určuje typ souboru (- je normálnı́ soubor, d představuje adresář) a dalšı́ch devět znaků představuje tři trojice přı́stupových práv pro výše zmı́něné tři kategorie uživatelů. Změna přı́stupových práv chmod umožnı́ změnit přı́stupová práva pro vybranou kategorii uživatelů. Práva lze specifikovat v symbolické nebo čı́selné formě. chmod [kategorie][akce][práva] soubor(y) u User + r Read g Group w Write o Other = x eXecute Znaménko + nebo - vyjadřuje přidávánı́ nebo ubı́ránı́ přı́slušných práv, znaménko = vyjadřuje explicitnı́ nastavenı́. Vedle kategoriı́ u, g, o je také definována kategorie a (all, všichni). Přı́klady: chmod +x file.exe chmod go-r file1 chmod a-wx file.txt chmod u=rwx file2 Vedle symbolické formy lze pro změnu práv použı́t i trojic čı́sel. Každé čı́slo se vztahuje k přı́slušné kategorii uživatelů a dá se zjednodušeně zı́skat jako součet třı́ hodnot, vyjadřujı́cı́ch přı́slušná práva: 4 – čtenı́ (r), 2 – zápis (w), 1 – spustitelnost (x). Přı́kaz chmod 752 file1 potom nastavı́ přı́stupová práva v symbolickém vyjádřenı́ rwxr-x-r--. program > vystup.txt program >> vystup.txt program < vstup.txt Kombinacı́ obou přı́stupů lze přesměrovat zároveň vstup i výstup. program < vstup.txt > vystup.txt Chybový výstup Pokud nastane nějaká chyba, může o tom konkrétnı́ program vypsat zprávu na standardnı́ chybový výstup. Ten je většinou směrován na obrazovku, ale lze jej také přesměrovat do souboru. Syntaxe se však lišı́ podle typu shellu. Následujı́ dva přı́klady, z nichž prvnı́ uložı́ chybový výstup do stejného souboru, jako standardnı́ výstup. Druhý přı́klad jej ukládá do samostaného souboru. Bourne shell prog > vys 2>&1 prog > vys 2> vys.e S výše uvedeným přesměrovánı́m standardnı́ho výstupu a chybového výstupu lze použı́t i přesměrovánı́ vstupu, např. pro C-shell: prog < vstup >& vystup (prog < vstup > vystup) >& vystup.err Kolony a filtry Programy, které čtou něco ze standardnı́ho vstupu a po zpracovánı́ zase zapisujı́ na standardnı́ výstup, se někdy označujı́ jako tzv. filtry (např. cat, more, grep, nl). Tyto programy lze pomocı́ mechanismu roury (pipe) spojovat do tzv. kolon (pipelines), ve kterých je výstup z jednoho programu přesměrován na vstup druhého programu. cat soubor1 | nl cat soubor2 | more cat soubor3 | nl | more Výpis seznamu procesů Přı́kaz ps sloužı́ k výpisu seznamu běžı́cı́ch procesů. Jeho volby se lišı́ podle typu UNIXu. Pro výpis procesů uživatele novak můžou potom sloužit následujı́cı́ přı́kazy: LINUX (BSD UNIX) ps -u ps -aux | grep novak IRIX (UNIX System V) ps -fu novak Ukončenı́ procesu Znakem < lze zajistit přesměrovánı́ obsahu souboru na vstup nějakého programu a nahradit tak vstup z klávesnice. C-shell prog >& vys (prog > vys) >& vys.e K ukončenı́ programů, které se vymknou kontrole a nelze je ukončit standardnı́m způsobem, lze použı́t přı́kaz kill. Jako parametr mu zadáme identifikačnı́ čı́slo procesu (PID), které zjistı́me z výpisu přı́kazu ps. Můžeme navı́c ještě zadat typ signálu, který bude přı́slušnému procesu poslán. Standardně je zaslán signál TERM (terminate), ale pokud nepomůže, lze použı́t signál KILL, který zajistı́ bezpodmı́nečné ukončenı́ neposlušného procesu. Zaslánı́ signálu TERM (terminate) kill 223 kill -15 223 kill -TERM 223 Zaslánı́ signálu KILL kill -9 223 kill -KILL 223 Spuštěnı́ programu na pozadı́ Odsunutı́ programu na pozadı́ lze zajistit znakem & úplně na konci přı́kazové řádky. To zajistı́, že přı́kazová řádka zůstane volná pro zadávánı́ dalšı́ch přı́kazů a umožnı́ to i odhlášenı́ ze systému. Pokud program potřebuje vstup dat z klávesnice a zároveň vypisuje něco na obrazovku, je žádoucı́ zajistit přesměrovánı́ vstupů a výstupů. netscape & program < vstup >& vystup & NĚKTERÉ DALŠÍ PROGRAMY passwd telnet ftp nedit joe mc xv ghostview, gv xfig xpaint, gimp mail, Mail, xfmail změna hesla připojenı́ na vzdálený počı́tač přenos souborů mezi počı́tači grafický ASCII editor textový ASCII editor Midnight Commander prohlı́žeč bitmapových obrázků prohlı́žeč postsriptových souborů grafický vektorový editor grafické bitmapové editory programy pro čtenı́ pošty
Podobné dokumenty
Prítomný prostý - Prehled funkcí
Tyto aktivity (nebo stavy) trvajı́ stále. Často nás doprovázejı́ po
dlouhou dobu, někdy i po celý život. Většinou neuvažujeme nad
tı́m, kdy nebo jestli skončı́. Jsou to prostě věci, kt...
Vijeo Designer – intuitivní HMI nástroj s
navigátor se stromovou strukturou. V něm pak zpravidla začíná návrh projektu výběrem
konkrétního panelu a jeho vlastností. Při označení daného objektu uživatel nastavuje vlastnosti
v samostatném ok...
Praktikum z operacˇnıch syste´mu
5.1.1 Kdy, kde a jak použı́vat textový shell .
5.1.2 Struktura přı́kazů . . . . . . . . . . . . .
5.2 Zástupné znaky . . . . . . . . . . . . . . . . . .
5.3 Nápověda . . . . . . . . . . . ....
Zpravodajpro kybernetiku a informatiku ˇCSKIˇCesk´a spoleˇcnost
Přednáška se koná 16. června 2009 v 14 hod., mı́stnost č. 474.
Souhrn. Cı́lem přednášky je představit některá témata a odpovı́dajı́cı́ matematické modely, kterými se teoretičtı́ eko...