Systemy Operacyjne - UNIX, PWSZ, Systemy Operacyjne
[ Pobierz całość w formacie PDF ]
//-->Spis treściZAJĘCIA 1. Wprowadzenie ........................................................................................................... 2ZAJĘCIA 2. Praca w systemie wielodostępnym.......................................................................... 3ZAJĘCIA 3. Poczta elektroniczna. system plików...................................................................... 4Systemy operacyjne – UNIXdr inż. Wojciech ZającZAJĘCIA 4. Wyświetlanie treści plików. prawa dostępu do pliku .......................................... 7ZAJĘCIA 5. Program do edycji tekstówvi.................................................................................. 9ZAJĘCIA 6. Wyszukiwanie plików -find...................................................................................11ZAJĘCIA 7. Powłoka, zmienne systemowe................................................................................ 13ZAJĘCIA 8. Strumienie i potoki.................................................................................................. 15ZAJĘCIA 9. Przeszukiwanie treści pliku, sortowanie.............................................................. 17ZAJĘCIA 10. Filtrowanie kolumn pliku, programowanie w języku powłoki cz. 1............. 19ZAJĘCIA 11. Programowanie w języku powłoki cz. 2. warunkowe wykonanie poleceństrumieniowych ............................................................................................................................... 21ZAJĘCIA 12. Funkcje w skryptach ............................................................................................ 23ZAJĘCIA 13. Edytorsed,filtrawk.............................................................................................. 25ZAJĘCIA 14. Elementy administracji systemem, polecenia różne. tekstowa implementacjapolecenia FTP .................................................................................................................................. 27Systemy operacyj ne - UNIX – zajęcia1Zajęcia 1. WprowadzenieZagadnienia:Pojęcie systemu operacyjnego. Cechy UNIXa. Pojęcie zasobów serwera,konto. Proces logowania. Hasła. Pliki konfiguracyjne użytkowników.Pojęcia systemu operacyjnego i kontaSystem operacyjny jest to program, który jest automatycznie uruchamiany w momenciewłączenia komputera. Jest to swego rodzaju pośrednik pomiędzy człowiekiem aukładami elektronicznymi. Program ten zamienia polecenia otrzymane od człowieka(np. komendy, itd.) na postać zrozumiałą dla układów elektronicznych i odwrotnie,interpretuje otrzymane wyniki, wyświetlając je w postaci zrozumiałej dla człowieka.Aby korzystać z komputera niezbędna jest wiedza na temat zbioru słów i poleceńzrozumiałych dla programu systemu operacyjnego, lub też konieczne jest korzystanie zodpowiednich narzędzi, ułatwiających te czynności.W systemach wielodostępnych, takich jak UNIX, użytkownik, któremu przyznanoprawo do korzystania z komputera sieciowego otrzymuje tzw. konto w systemie. Jest topojecie abstrakcyjne, na które składa się:- prawo do korzystania z pewnej części czasu procesora,- prawo do korzystania z usług systemowych: drukarek, poczty, usług sieciowych, itd.,- prawo do zarządzania określoną ilością przestrzeni dyskowej.Innymi słowy, użytkownik otrzymuje prawo do korzystania zzasobówserwera.WielozadaniowośćPonieważ procesor komputera głównego potrafi wykonywać na raz tylko jednozadanie, podzielono jego czas na fragmenty. Rozpatrzmy jednostkę czasuprzedstawioną jako pierścień. Część czasu procesora poświęcana na obsługę procesówsystemowych, związanych z działaniem serwera (S1, S2, S3), pozostała część przypadana obsługę zadań użytkowników U1, U2 i U3 (rys. 1.a).Jeśli do systemu podłączy się większa liczba użytkowników, czas procesora w częściprzeznaczonej na obsługę procesów użytkowników jest dzielony na większą liczbęcząstek, w wyniku czego poszczególni użytkownicy otrzymują mniejszą częśćjednostki czasu, przez co wydaje im siężesystem „zwalnia”.Logowanie– podłączanie terminala do systemuAby pracować z wykorzystaniem zasobów serwera, niezbędne jest zarejestrowanie sięna serwerze, czylizalogowanie.Proces ten obejmuje:- włączenie terminala lub uruchomienie programu emulacji terminala,- wskazanie serwera, do którego terminal ma być podłączony,- podanie nazwy konta, na które chcemy się zalogować- podanie (nażądanie)hasła dla danego kontaa)b)Rys. 1. Podział jednostki czasu na obsługę zadań systemowych i użytkownikówHasłaHasło to ciąg znaków, służący do potwierdzenia tożsamości osoby, logującej się na danekonto. Zakłada się,żetylko posiadacz konta zna swoje hasło. Hasła nadaje administratorpodczas zakładania konta. Użytkownik, w zależności od ustawień dokonanych przezadministratora, może lub nie, zmienić hasło za pomocą polecenia „passwd”.Pliki konfiguracyjne użytkownikówa) System UNIX przechowuje informacje o użytkownikach w pliku/etc/passwd. Każdyużytkownik posiada w nim jedną linię, o następującej strukturze:jnowak:*:245:134:Jan Nowak:/home/dzienni/d2001/jnowak:/bin/bashPoszczególne informacje (pola) oddzielone są znakiem dwukropka. Przechowują oneinformacje o: nazwie konta, (puste), numerze UID (unikalny identyfikator użytkownika),numerze GID (identyfikator grupy), rzeczywistym imieniu i nazwisku posiadacza konta,położeniu jego katalogu domowego i nazwie programu, włączanego po zalogowaniu.b) System przechowuje także informacje o grupach użytkowników – w pliku/etc/groupPodobnie jak plik z informacjami o posiadaczach kont, plik/etc/groupzorganizowany jestw linie. Każda linia przechowuje informacje o jednej grupie użytkowników, w następującymformacied2001:*:134:jnowak, akowal, ...Pola linii oddzielone są znakiem dwukropka. Przechowują one kolejno: nazwę grupy,(puste), numer GID oraz listę kont należących do tej grupy.Uwaga: często zdarza się,żeinformacje na ostatnim polu nie są wpisane przezadministratora i jest ono puste.strona 2 z 29Systemy operacyj ne - UNIX – zajęcia1Zajęcia 2. Praca w systemie wielodostępnymZagadnienia:Praca w systemie wielodostępnym. Pojęcie linii i terminala. Identyfikacjaużytkowników: komendyid, whoami, who, w, finger. Zmiana uprawnień użytkownikaprzy pomocy komendysu. Komunikacja tekstowa pomiędzy użytkownikami: komendywrite, wall, talkW założeniach twórców systemu UNIX, komputer główny – serwer – obsługiwać miałpewną ilość terminali – końcówek, urządzeń transmitujących dane z klawiatury doserwera i z serwera na ekran monitora. W instytucjach wykorzystujących taki modelsieci UNIXowej, pojęcie „linia” i „terminal” są równoznaczne. Jednak w przypadkuużycia w miejsce terminala komputera PC, emulującego na raz kilka terminali, pojęciate są wyraźnie rozdzielone.„Linia” jest to część systemu operacyjnego (coś w rodzaju podprogramu), któryrealizuje zadanie przesyłania danych do i z terminala. Dla serwera jedna linia oznaczajeden terminal, my jednak musimy zdawać sobie sprawę, iż komputer PC emuluje naraz kilka terminali, przez co do komunikacji z nim służy kilka linii. Będziemy od tejchwili wyróżniali pojęcie terminala jako komputera PC, z którego podłączamy się doserwera, niezależnie od ilości emulowanych sesji. Pojęcie linii będziemy traktowali tak,jak było założone przez twórców systemu – jako program do komunikacji z jedną sesją.♦- polecenie wyświetla numer identyfikatora użytkownika, który jewywołał (lub użytkownika określonego parametremlogname) oraz grupy, do którejon należy (UIDiGID).id [logname]who– przełączanie użytkowników (ang. substitute user). Używane głównie przezadministratora – pozwala „stać się” użytkownikiem o podanej nazwie. Komendauruchamia nowa powłokę, odpytując o hasło danego użytkownika. Użyta bezparametrów przełącza na root-a (administratora) Uwaga: nie zaleca sięeksperymentować z przełączaniem na administratora - próby te są rejestrowane.Składnia:su [-lm] [logname [argumenty]]Opcje:-l– symuluje pełne logowanie, zmienia wszystkie zmienneśrodowiskowezwyjątkiemHOME, SHELL, PATH, TERM i USER. Zmienna PATH ustawiana jest na/bin:/usr/bin,TERMjest importowana z poprzedniej sesji,HOME i SHELLustawiane są na domyślnedla danego użytkownika, USER ustawiane jest na użytkownika docelowego.-m– powoduje,że środowiskopozostaje niemodyfikowane, wszystkie uprawnienia izmienne są ustawione tak jak użytkownika wywołującegosu. Opcje-li-mwykluczająsię wzajemnie, jeśli użyje się ich obu, zadziała ta, która jest ostatnia.logname– nazwa użytkownika docelowego,argumenty– nazwa programu, który ma być wykonany natychmiast po przełączeniu naużytkownika docelowego.su♦♦– wyświetla nazwy użytkowników podłączonych do systemu (zalogowanych),nazwy linii, daty podłączenia oraz nazwy ich terminali.Składnia:who [am I]. Przykładowy wynik działania:Opcje:o linii, dacie podłączenia i terminalu dotyczyć będzie tylkoużytkownika wywołującego komendę.♦w– informacja o użytkownikach dołączonych do systemu i ich aktualniewykonywanych programachSkładnia:w [-him] [user]. Przykładowy wynik działania:USERwzajacTTY FROMp0 zajaczekLOGIN@6:30AMIDLE WHAT- mailwzajacttyp0adresttyp4am I– informacjaOct 11 06:30Oct 11 06:35(zajaczek)(b5)♦– wysłanie wiadomości tekstowej do podanego użytkownika. Adresy w ramachtego samego serwera nie muszą zawierać jego nazwy. Dodatkowo można określićnazwę linii, do której chcemy skierować wiadomość – przydatne gdy odbiorcazalogowany jest na kilku sesjach.Składnia:write user [host] [ttyxx]write♦– wysłanie wiadomości tekstowej do wszystkich obecnie zalogowanychużytkowników. UWAGA: używa się tego tylko w sytuacjach wyjątkowych, nadużyciejest zwykle karane zablokowaniem konta przez admina.walltalk♦– interaktywna komunikacja tekstowa pomiędzy dwoma użytkownikami –tekstowy „telefon”Składnia:talk user[@host] [ttyxx]Osoba wywołana otrzymuje komunikat:talk: connection requested by jnowak@zeus.agh.pltalk: respond with:talk jnowak@zeus.agh.plOpcje:-h– ukrycie nagłówka (USER TTY FROM ...)-i– wynik posortowany wg tzw. Iddle Time-n– wyświetla adres terminala zamiast jego nazwy♦finger– uzyskanie informacji o użytkownikuSkładnia:finger [user[@host]]Aby łączność została nawiązana, osoba wywołana musi wpisać to, co zostało pogrubione wprzykładzie:talk jnowak@zeus.agh.pl.Zakończenie komunikacji następuje ponaciśnięciuCTRL-C.♦mesg [y|n]– włączenie/wyłączenie/sprawdzenie stanu blokady komunikacji tekstowejnp.mesg y– wyłączenie blokady. Aby skutecznie wysłać wiadomość tekstową, obajuczestnicy komunikacji muszą mieć wyłączoną blokadę.strona 3 z 29Systemy operacyj ne - UNIX – zajęcia1Zajęcia 3. Poczta elektroniczna. System plikówZagadnienia:System poczty elektronicznej: programmail. Podstawy korzystania zsystemu plików UNIX-a: komendy:pwd, cd, basename, dirname, mkdir, rmdir,ls, cp, mv, rm, ln.. Maska nazwy pliku - specjalne symbole w nazwach plików.♦mailProgrammailjest systemowym narzędziem do obsługi poczty elektronicznej. Oznaczato,żekażdy system rodziny UNIX, niezależnie od producenta i wersji, posiada go.Istnieje wiele innych programów obsługujących pocztę elektroniczną w UNIX-ie,jednak istotna jest umiejętność posługiwania się właśnie programemmail, gdyż możnasobie poradzić w dowolnym systemie. Istnieją trzy postaci wywołania mail-a: doodbierania nowych listów, do odczytu starych listów i do wysyłania listów.Postaci wywołania:a) Odbieranie nowych listówmail [–u user](gdziento liczba) –jakR, wysłana do nadawcy i wszystkich odbiorców kopii listu.h [n](gdziento liczba) – wykaz nagłówków listów.d [n](gdziento liczba) – usunięcie listu bieżącego (lubn-tego gdy podano liczbęn)(zaznaczenie do usunięcia, skasowanie będzie wykonane przy wychodzeniu z programumail)u [n](gdziento liczba) – wycofanie zaznaczenia do usunięcia, możliwe po wykonaniudlecz przed wyjściem z programu.w [n] nazwa_pliku– (gdziento liczba) zapis listu (bieżącego lubn-tego) do pliku opodanej nazwie; zapisywany jest tylko list, bez nagłówka listus [N] nazwa_pliku– (gdziento liczba) jakw, ale zapisywany jest także nagłówek listuq– wyjście z programu z zachowaniem wszystkich zmian (skasowanie zaznaczonych listów,odebranie argumentu „nowy” listom już odczytanym, etc.)x –wyjście z porzuceniem wszystkich zmian.r [n]b) Odczytanie starej poczty (listów już kiedyś czytanych)mail –f [filename]Ad b) Odczytanie starej poczty (listów już kiedyś czytanych)mail –f [filename]c) Wysyłanie listówmail [–s subject] [-c adres1,adres2,...] [-b adres3,...] adres_glownyAd a) Odbieranie nowych listówmail [–u user]Podstawową formą wywołania jest poleceniemailbez parametrów. Przełącznik–udostępny jest administratorowi i pozwala na odczytanie poczty użytkownika o podanejnazwie.Po uruchomieniu komendąmail, program pocztowy wyświetla wykaz nowych listów:>1 wzajac Zadania32 root instrukcja3 kfiguraraport&_(kursor)System UNIX przechowuje listy nowe w pliku położonym w katalogu/var/mail. Plikinazywają się tak jak konta użytkowników, np.:/var/mail/wzajac. Programmailprzenosiodczytane listy do plikumboxw katalogu domowym każdego użytkownika. Tak więc abyodczytać stare listy, program pocztowy sięga do plikumbox, lub, jeśli podamy inną nazwę,do innego.Po wpisaniumail –f, programmailpróbuje odnaleźć plikmboxw katalogu domowymużytkownika, który wywołał komendę. Jeślimboxzostanie odnaleziony lub jeśli podaliśmynazwę innego pliku z pocztą i został on odnaleziony, programmailuruchamia się izachowuje się tak samo jak w przypadku czytania listów nowych, z tą różnicą iż pozakończeniu pracy nie przenosi już nigdzie listów odczytanych.Ad c) Wysyłanie listówmail [–s subject] [-c adres1,adres2,...] [-b adres3,...] adres_glownyU dołu ekranu znajduje się znak zachęty programu pocztowegomail:&W tym trybie pracy programumaildostępnesąkomendy:?lubhelp– wykaz dostępnych komend!polecenie– wykonanie polecenia powłokin(gdziento liczba) – odczytanie listu o podanym numerzeR [n](gdziento liczba) – odpowiedź na list bieżący (zaznaczony symbolem >) lub owskazanym numerze, wysłana wyłącznie do nadawcyTa postać polecenia służy do wysłania listu o podanym tytule pod wskazanyadres_głównyi ewentualnego wysłania kopii pod inne wskazane adresy. Przełączniki:-s subject– określenie tytułu listu,-c adres1[,adres2,…]– określenie adresu bądź kilku adresów, pod które wysłanazostanie kopia listu,-bcc adres3– jak–c, pozwala wysłać kopie listu tak, ze odbiorca nie wie o tym,żelistbył kopiowany.strona 4 z 29Systemy operacyj ne - UNIX – zajęcia1Format podawania adresu:a) pełna:nazwa_konta@adres_serwera, np.: J.Nowak@friko4.onet.plb) skrócona, używana przy wysyłaniu poczty w obrębie jednego serwera:wzajacnp. a)mail –s „Pozdrowienia z Zielonej Góry” J.Nowak@friko4.onet.plb)mail –s „Zgłoszenie wykonania zadań” wzajacPo wpisaniu jednej z powyższych komend uruchamia się programmail. Jeśli zostałpominięty argument–s(co jest dopuszczalne ale nie zalecane), program pocztowyodpyta o tytuł listu. Po wpisaniu tytułu kursor ustawia się w pierwszej kolumnieekranu, nie ma znaku zachęty. Np.:mail wzajac <enter>Subject: Zgłoszenie zadan2 <enter>Zglaszamy wykonanie zadan, grupa 26b, studenci Nowak i Kowalski..<enter>Symbolznaczenieilość dowolnychznakówdowolny znak z listydowolny znak z listyprzykład poleceniacp *.txt /tmpcp [Aa]la.txt /tmpnazwy „pasujące” domaskiwszystkie mające pokropce„txt”[Aa][BbCcMm]~ lub$HOME~logname.../katalog domowyAla.txtala.txtcp [BbCcMm]ela.txt /tmpBela.txt, bela.txtCela.txt, cela.txtMela.txt, mela.txtcp [Kk]*.txt /tmpwszystkie na litereklubKmające po kropce„txt”cp /tmp/*.txt ~Kropka postawiona na początku nowej linii, po której następuje ENTER oznaczapolecenie wysłania listu. Taką sama funkcję pełni kombinacja klawiszy CTRL-D,jednak odradza się jej stosowanie, z tego względu,żetaka sama kombinacja, wysłanado programu powłoki oznacza wylogowanie się – jeśli omyłkowo naciśniemy CTRL-Ddwa razy, wyślemy list a następnie natychmiast wylogujemy się.Edytor programumailjest liniowy, tzn. można edytować tylko jedną, bieżącą linię.Jeśli zauważymy błąd, jaki popełniliśmy w poprzedniej linii, nie ma możliwości jegopoprawy. Można w takiej sytuacji albo zaakceptować obecność błędu, albo też porzucićedycje listu (kombinacja CTRL-C powtórzona dwukrotnie) i napisać go ponownie.Łatwiejszym sposobem pisana listu jest jego edycja w programie edytora tekstu, anastępnie wysłanie pliku pocztą.mail –s ”Zgłoszenie zadan2” wzajac < plik1.txtcp ~wzajac/zad1.txt ~katalog domowypodanego użytkownikacp /tmp/*.txt .katalog bieżącycd ..katalog nadrzędnycd /katalog główny♦/System plików UNIX-abinechobashcat ...devmouseZawiera „pliki” będące w rzeczywistości urządzeniamisystemowymi (konsola serwera, mysz, linie terminali, etc.).ttypxnull =„kosz naśmieci”etchome (lub user)grd25ei.........varcronZawiera pliki konfiguracyjne urządzeń i usługsystemowych (drukarki, procesu wykonywane okresowo,mailitdc.).spoolZawiera systemowe pliki konfiguracyjne, np. passwdZawiera domowe katalogiużytkowników, zpodziałem na grupyjnowakZawiera wykonywalne programy stanowiące część systemu♦Maska nazwy plikuPodobnie jak w innych systemach, w UNIXie dostępne są specjalne znaki, którychużywa się przy podawaniu „wzorca” nazwy pliku, wykorzystywanego np. przykopiowaniu bądź usuwaniu wielu plików o podobnych nazwach. Wzorzec tennazywany jest maską nazwy pliku. Znaki specjalne używane w maskach nazw plikównazywają się metaznakami.Symbol?znaczeniezastępuje jedendowolny znakprzykład poleceniacp dane?.dat /tmpcp dane.t?? /tmpnazwy „pasujące” domaskidane1.datdaneA.datdane.txtdane.tstdane.t23*zastępuje dowolnącp * /tmpwszystkie plikistrona 5 z 29
[ Pobierz całość w formacie PDF ]