Systemy(Unix) wykład

Systemy operacyjne

dr inż. Anna Kamińska

S29

Części systemu komputerowego

  1. Sprzęt

  2. jednostka centralna (procesor)

  3. pamięć

  4. urządzenia wejścia-wyjścia

  5. System operacyjny

  6. Programy użytkowe

  7. Użytkownicy

Co to jest system operacyjny

  1. System operacyjny nadzoruje i koordynuje posługiwanie się sprzętem przez różne programy użytkowe, które pracują na zlecenie różnych użytkowników

  2. System operacyjny (jądro) - program, który działa nieustannie

Cele tworzenia
systemów operacyjnych

  1. Wygoda użytkownika

  2. Efektywne działanie systemu komputerowego

Składowe systemu:zarządzanie pamięcią operacyjną

  1. Pamięć operacyjna

  2. obszar pamięci dostępny bezpośrednio dla procesora

  3. magazyn szybko dostępnych danych, eksploatowanych wspólnie przez jednostkę centralną i urządzenia wejścia-wyjścia

  4. Aby program mógł być wykonany, musi być zaadresowany i załadowany do pamięci

Składowe systemu: zarządzanie pamięcią dyskową

  1. Pamięć operacyjna - nietrwała (traci zawartość po odłączeniu zasilania)

  2. Pamięć pomocnicza (dyskowa) rozszerza pamięć operacyjną

  3. Pamięć pomocnicza powinna móc trwale przechowywać duże ilości danych

Składowe systemu:
zarządzanie plikami

  1. Pliki - sposób przechowywania informacji

  2. Plikach zawierają

  3. programy (w postaci źródłowej lub wynikowej)

  4. dane

  5. Dla ułatwienia użytkowania pliki są organizowane w katalogi

Składowe systemu:
zarządzanie procesami

  1. Proces - program wykonywany przez procesor wraz z jego otoczeniem

  2. Otoczenie - zbiór zasobów, z których proces musi korzystać, aby wypełnić swoje zadanie

  3. Zasoby - np. czas jednostki centralnej, pamięć, pliki, urządzenia We/Wy

Interpreter poleceń

  1. Interpreter poleceń - interfejs między użytkownikiem a systemem operacyjnym

  2. Interpreter może być (w zależności od systemu operacyjnego)

  3. zawarty w jądrze systemu

  4. specjalny program

Zadania systemu operacyjnego

  1. Zarządzanie pamięcią operacyjną

  2. Nadzorowanie pracy programów

  3. Tworzenie struktury dysków (katalogów
    i plików)

  4. Nadzorowanie współpracy wszystkich dostępnych w systemie urządzeń

  5. Sygnalizacja błędów

  6. Zapewnienie komunikacji użytkownika
    z komputerem

Rodzaje systemów operacyjnych

  1. MS-DOS

  2. Windows 95/98/Me

  3. Windows NT

  4. OS/2 WARP - pierwszy wielozadaniowy graficzny system operacyjny dla komputerów IBM PC

  5. Unix/Linux







Różnice między BSD i System V

  1. Najważniejsza różnica - standardowa powłoka systemu

  2. System V - powłoka Bourne’a

  3. BSD UNIX - powłoka C

  4. Niektóre polecenia jednej wersji są niedostępne w drugiej lub działają nieco inaczej

Standaryzacja systemu Unix

  1. SVID (System V Interface Definition) – zgodność z Unixem AT&T.

  2. POSIX norma IEEE (Institute for Electrical and Electronic Engineers) i ANSI (American National Standards Institute) nr P1003 – międzynarodowy standard oparty na Systemie V i BSD.

Standaryzacja Systemu Unix

  1. X/OPEN – standard utworzony przez organizacje wytwórców systemu UNIX, Europa.

  2. X-Consortium - standaryzacja interfejsów działających w oparciu o technologie X-Window.

  3. SIGMA –normy niezależne od rodzaju sprzętu, Japonia.



Posługiwanie się systemem

  1. System Unix - uniwersalny, bardzo rozbudowany

  2. Komercyjne odmiany mają zwykle po kilka tysięcy stron dokumentacji (kilka tysięcy poleceń)

  3. Podczas wykładu omawiane będą ogólne cechy systemów unixowych

  4. Przykłady: HP-UX, Solaris

Konfiguracje sprzętowe

  1. Pod kontrolą Unixa mogą pracować różne komputery, np.
    - PC
    - komputery przeznaczone dla jednego
    użytkownika (stacje robocze, ang.
    workstations)
    - instalacje wieloterminalowe

Instalacje wieloterminalowe

  1. Składniki instalacji wieloterminalowej
    - komputer centralny (tzw. serwer)
    - terminale podłączone do serwera

  2. Przez łącza (np. kable sieci lokalnej) do serwera można podłączyć inne komputery (np. PC), pełniące rolę terminali

Terminale

  1. Terminale (końcówki) - urządzenia do komunikacji użytkowników z systemem

  2. Podstawowe elementy terminala

  3. monitor

  4. klawiatura

  5. Terminale można łączyć do serwera

  6. bezpośrednio przez łącza szeregowe

  7. przez okablowanie lokalnej sieci LAN

Terminale

  1. W charakterze terminali mogą być użyte

  2. klasyczne terminale znakowe

  3. specjalne terminale graficzne (np. X-terminale),

  4. komputery (zwykle klasy PC) używane do naśladowania (emulowania terminali)

  5. Konsola systemowa (konsola operatora) - wyróżniony rodzaj terminala



System operacyjny Unix

Pierwsze kroki w systemie Unix

Podstawowe informacje

  1. Unix rozróżnia duże i małe litery

  2. Naciśnięcie <Ctrl-C> zwykle przerywa wykonywanie dowolnego programu

Konto użytkownika

  1. W systemie Unix może pracować jednocześnie wielu użytkowników

  2. Każdy użytkownik musi mieć swoje konto

  3. Konto zakłada administrator systemu

  4. Konto zabezpieczone jest hasłem

Sesja

  1. Sesja - praca z systemem Unix

  2. zgłoszenie chęci pracy (login)

  3. zakończenie (exit, logout)

  4. Aby przyłączyć się do systemu, należy podać nazwę konta użytkownika i hasło

  5. Często na początku sesji są wyświetlane komunikaty od administratora systemu

Terminal

  1. W trybie tekstowym polecenia mogą być wydawane bezpośrednio w wierszu poleceń

  2. W trybie okienkowym - należy najpierw uruchomić okno terminala (nazwy różne w zależności od producenta)

  3. Gotowość interpretera sygnalizuje znak zachęty - zwykle %, $ lub #

Identyfikacja terminali

  1. Każdy terminal zgłaszający się w systemie Unix otrzymuje unikalną nazwę systemową,

  2. Wyświetlenie systemowej nazwy danego terminala - polecenie
    tty

  3. Polecenie wyświetla nazwę pliku specjalnego związanego z terminalem (np. /dev/tty01)

Emulatory terminali znakowych

  1. Emulatory terminali znakowych - tylko do uruchamiania programów pracujących w trybie tekstowym

  2. Najczęściej używane tryby pracy terminali znakowych - vt100, vt220, ansi, wyse60

  3. Do emulacji terminala na PC służy np. wersja programu telnet dla Windows

Znaki ASCII

  1. Podstawowy zestaw znaków ASCII (ang. American Standard Code for Information Interchange) zawiera 128 znaków:
    - litery a - z, A - Z
    - cyfry 0-9
    - znaki specjalne ` ~ ! @ # $ % ^ & * ( ) - _ = +
    [ ]{ } ; : ' " , . / < > ?
    - znak odstępu
    - znaki sterujące (o kodach 0-31)

Polecenia na początek

  1. Wyświetlenie spisu zawartości katalogu:
    ls

  2. Opcje zmieniające zachowanie polecenia umieszcza się po znaku ‘-’ ,np.
    ls -l

Polecenia na początek

  1. Tworzenie pliku o zawartości wczytywanej z klawiatury terminala:
    cat > nazwa_pliku


  2. Zakończenie wpisywania: <Control-D>
    Jeśli plik już istnieje, nowa zawartość zamaże starą

  3. Wyświetlanie zawartości pliku:
    cat nazwa_pliku

Polecenia na początek

  1. Wyświetlenie bieżącej daty i godziny:
    date

  2. Informacja, kto w tej chwili pracuje
    w systemie (nazwa użytkownika, numer terminala i czas rejestracji w systemie):
    who

  3. Informacja wyłącznie o sobie:
    who am i

Zmiana hasła

  1. Zmiana hasła
    passwd

  2. Nowe hasło należy powtórzyć 2 razy

  3. Ograniczenia na postać hasła (eliminacja haseł zbyt łatwych do odgadnięcia)

Pomoc systemowa

  1. Unix ma wbudowany interakcyjny podręcznik

  2. Wyświetlenie strony podręcznika z informacją na temat danego polecenia
    man nazwa_polecenia

  3. Przykład
    man ls

Pomoc systemowa

  1. Strony podręcznika mogą mieć rozdziały:

  2. Name nazwa polecenia i krótki opis

  3. Synopsis składnia (opcje)

  4. Description szczegółowy opis stosowania

  5. Files inne pliki używane przez
    polecenie/program

  6. See also pokrewne informacje

  7. Diagnostics znaczenie kodów i błędów

  8. Restrictions ograniczenia stosowania

Pomoc systemowa

  1. Standardowe konwencje dotyczące składni

  2. nawiasy kwadratowe otaczają parametry
    opcjonalne (nieobowiązkowe)

  3. wielokropek oznacza miejsca, gdzie parametry mogą się wielokrotnie powtarzać

  4. Opisy - z różnych sekcji podręcznika, np.
    ls(1)

  5. Szukanie hasła z określonej sekcji
    man numer_sekcji hasło






Ścieżki

  1. Pełne określenie położenia pliku lub katalogu w systemie wymaga podania

  2. nazwy

  3. ścieżki (path)

  4. Ścieżka - lista katalogów, leżących na gałęzi łączącej katalog główny z katalogiem, w którym znajduje się plik

  5. Katalogi oddziela znak ‘/’ (slash)









  1. Mogą zawierać do 255 znaków

  2. Nie mają wyodrębnionego rozszerzenia

  3. Mogą (nie muszą) zawierać kropkę

  4. Mogą zawierać dowolne znaki
    z wyjątkiem ukośnika ‘/’ (zalecane - litery, cyfry i znaki ‘-’, ‘_’, ‘.’)

  5. Rozróżnianie dużych i małych liter

Nazwy plików

  1. Pliki wykonywalne

  2. mogą mieć dowolną nazwę

  3. nie muszą mieć rozszerzenia

  4. Identyfikacja plików wykonywalnych
    - na podstawie praw dostępu (atrybutów)

Atrybuty plików

  1. Zbiory użytkowników każdego pliku

  2. właściciel pliku (user) - ‘u

  3. grupa osób korzystających z pliku - ‘g

  4. inni użytkownicy systemu (others) -o

  5. Każdy zbiór może mieć różne prawa do:

  6. czytania (read) - ‘r

  7. modyfikowania (pisania, write) - ‘w

  8. wykonywania (execute) - ‘x

Atrybuty plików

  1. Oznaczenie praw dostępu do pliku
    rwxr-xr--

  2. Zapis - prawa rwx kolejno

  3. właściciela

  4. grupy

  5. pozostałych użytkowników

  6. Oznaczenia

  7. litera - przywilej

  8. kreska - brak przywileju

Zmiana atrybutów plików

  1. Atrybuty plików - ustawiane
    w momencie tworzenia pliku

  2. Zmiana atrybutów - polecenie chmod
    chmod [ugo]+[rwx] plik
    chmod [ugo]-[rwx] plik
    chmod [ugo]=[rwx] plik
    gdzie: +/- dodanie/usunięcie atrybutu
    = ustawienie atrybutu

Zmiana atrybutów plików

  1. Przykłady użycia polecenia chmod
    chmod u+x plik
    chmod g=r plik
    chmod -x plik

  2. Brak grupy - wszyscy użytkownicy
    (all, ‘a’); a=ugo

  3. Zmiany atrybutów może dokonać tylko właściciel pliku lub administrator



Pliki ukryte

  1. Pliki ukryte (hidden) - pliki, które nie pojawiają się w spisie zawartości katalogu tworzonym poleceniem ls bez parametrów

  2. Atrybut ukrycia zależy od nazwy pliku

  3. Nazwy plików ukrytych muszą zaczynać się od kropki

    Przykład: .profile

Spis zawartości katalogu

  1. Polecenie ls bez parametrów wyświetla tylko nazwy plików i katalogów

  2. Opcja -l (long) wyświetla także:

  3. znak ‘-’ lub ‘d’ (plik/katalog)

  4. prawa dostępu (9 znaków rwx-)

  5. identyfikator właściciela (nazwę konta)

  6. rozmiar w bajtach

  7. datę i czas ostatniej modyfikacji

Wzorce nazw plików

  1. Znaki specjalne (metaznaki) w Unixie

? zastępuje pojedynczy znak

* zastępuje dowolny ciąg znaków

  1. Przykłady wzorców nazw plików:

* wszystkie pliki w katalogu

*.* wszystkie pliki z kropką w nazwie

*.*.* np. pliki a.b.c lub abc.defg.hi

*xyz np. pliki xyz lub abcdxyz

Wzorce nazw plików

  1. Inny sposób dopasowania wzorca -przez podanie grupy znaków
    w nawiasach kwadratowych [ ]

  2. W pasującej nazwie musi występować jeden ze znaków zawartych w zbiorze

  3. Myślnik oznacza zakres znaków (według porządku ASCII)

Wzorce nazw plików

  1. Przykłady

  2. [abc] a lub b lub c

  3. [a-z] mała litera (od a do z)

  4. doc[0-9] doc0 lub doc1 itd. do doc9

  5. *[Aa]dd* pliki, które mają w nazwie
    znaki add lub Add

  6. *[Aa][Dd]* pliki, które mają w nazwie
    znaki ad lub Ad lub aD itd.

Kopiowanie plików

  1. Do kopiowania plików - polecenie cp

  2. Pierwsza forma polecenia:
    cp plik_źródłowy plik_docelowy

  3. Druga forma polecenia:
    cp plik_źródłowy katalog_docelowy
    lub
    cp pliki_źródłowe katalog_docelowy

Kopiowanie plików

  1. Przykłady:
    cp plik1.txt plik2.txt
    cp plik1.txt ../test/plik2.txt
    cp plik1.txt ../test
    cp plik1.txt plik2.txt test2
    cp *.txt ../test
    cp test2/plik1.txt .

Przenoszenie (zmiana nazw) plików

  1. Polecenie mv

  2. do zmieniania nazw plików
    mv plik_źródłowy plik_docelowy

  3. do przenoszenia ich do nowego katalogu
    mv plik_źródłowy katalog

  4. Przykłady
    mv plik_1 plik_2
    mv spis.txt rok2001/wydatki

Usuwanie plików

  1. Polecenie rm do usuwania pliku lub grupy plików:
    rm [opcje] pliki

  2. Pytanie o potwierdzenie: opcja -i

  3. Przykłady:
    rm program1
    rm program1 program2
    rm -i *

Wyświetlanie zawartości plików

  1. Polecenie cat - do wyświetlania zawartości pliku lub kilku plików jednocześnie

  2. Przykłady
    cat plik1.txt plik2.txt
    cat *lab.txt

Wyświetlanie pliku stronami

  1. Polecenie more

  2. wyświetla zawartość pliku do zapełnienia ekranu

  3. czeka na naciśnięcie klawisza

  4. Składnia polecenia:
    more plik

Katalogi standardowe

  1. W większości instalacji Unixa - podobne podkatalogi katalogu głównego:
    /etc /dev /lib /tmp /bin

  2. Katalogi o specjalnym znaczeniu dla administratora
    /etc - z programami konfiguracyjnymi
    /dev - z plikami specjalnymi
    (dostęp do urządzeń We/Wy)

Polecenia dotyczące katalogów

  1. Tworzenie katalogu
    mkdir katalog

  2. Usuwanie katalogu (pustego)
    rmdir katalog

  3. Zmiana katalogu bieżącego
    cd katalog
    Polecenie cd bez parametrów zmienia katalog bieżący na katalog osobisty

Polecenia dotyczące katalogów

  1. Wyświetlanie nazwy katalogu bieżącego wraz z pełną ścieżką (print working directory)
    pwd

Polecenie ls

  1. Składnia: ls [opcje] plik

  2. Opcje:
    -a wyświetla też pliki ukryte
    -d wyświetla tylko nazwy katalogów,
    bez ich zawartości
    -F zaznacza katalogi (/) i pliki
    wykonywalne (*)
    -l wyświetla pełną informację
    -R wyświetla (rekurencyjnie) podkatalogi

Przechodzenie drzewa katalogów

  1. Postać polecenia find
    find katalog warunek

  2. Polecenie

  3. przeszukuje katalog wraz z podkatalogami

  4. dla każdego znajdującego pliku w katalogach sprawdza prawdziwość warunku

  5. Składniki parametru warunek

  6. kryteria selekcji

  7. operacje wykonywalne

Przechodzenie drzewa katalogów

  1. Niektóre możliwe warunki:
    -atime n z pliku korzystano w ciągu
    ostatnich n dni
    -mtime n plik modyfikowano w ciągu
    ostatnich n dni
    -print wypisanie ścieżki i nazwy pliku
    -name nazwa plik ma podaną nazwę
    -user użytkownik plik należy do
    wskazanej osoby

Przechodzenie drzewa katalogów

  1. Szukanie w całym drzewie katalogów pliku o nazwie pass
    find / -name pass -print

  2. Szukanie w systemie plików, których właścicielem jest użytkownik root
    find / -user root -print

  3. Zwykle bez warunku -print polecenie nie wypisuje nazw znalezionych plików

Przechodzenie drzewa katalogów

  1. Wypisanie plików w katalogu bieżącym, do których pasuje wzorzec *.txt
    find . -name "*.txt" -print

  2. Kryteria selekcji są analizowane według kolejności w wierszu poleceń

  3. Przykład - dwukrotne wypisanie nazw niektórych plików
    find -print . -name "*.txt"

Prawa dostępu do katalogów

  1. Prawa dostępu do katalogów - inne, niż dla plików

  2. r’ użytkownik może obejrzeć spis
    plików zawartych w katalogu
    (np. poleceniem ls)

  3. w’ użytkownik może modyfikować
    zawartość katalogu

  4. x’ użytkownik ma dostęp do plików
    w tym katalogu i podkatalogach



System operacyjny Unix

Edytor vi

Standardowe edytory Unixa

  1. Różne edytory Unixa - np. ed, emacs

  2. Pełnoekranowy edytor vi - dostępny w każdym systemie Unix

  3. Istnieje wiele wersji edytora vi

  4. Wykład omawia wersję podstawową

Tryby pracy

  1. Poleceń (command mode)

  2. naciskane klawisze są interpretowane jako polecenia

  3. kolejno wpisywane znaki pojawiają się
    w ostatnim wierszu ekranu

  4. tryb poleceń kończy naciśnięcie <i>

  5. Wstawiania tekstu (insert mode)

  6. tryb wstawiania kończy naciśnięcie <Esc>

Tryby pracy

  1. Sygnał dźwiękowy po naciśnięciu <Esc> oznacza, że pracujemy już w trybie wydawania komend

  2. Niektóre wersje vi umożliwiają poruszanie się po tekście przy pomocy klawiszy kursora także w trybie wstawiania tekstu

Uruchamianie edytora

  1. Uruchomienie edytora
    vi

  2. Uruchomienie edytora z jednoczesnym otwarciem pliku
    vi nazwa_pliku

Polecenia

  1. Wszystkie polecenia edytora vi- na stronach programu man

  2. Każda litera oznacza jakieś polecenie

  3. Duże i małe litery mają różne znaczenie

  4. Wiele poleceń można poprzedzić cyfrą - liczbą powtórzeń:
    x - usuwa jeden znak pod kursorem
    10x - usuwa 10 znaków

Otwieranie pliku

  1. W wierszu poleceń:
    nazwa_pliku

  2. Gdy plik nie istnieje - wyświetla ekran wypełniony wierszami ze znakiem tyldy (~) w pierwszej kolumnie

  3. Gdy plik istniał - wyświetla zawartość pliku (wiersze po końcu pliku zawierają tylko tyldę)

Zachowywanie pliku

  1. Zachowanie pliku (write)
    :w <Return>

  2. Opuszczenie programu (quit)
    :q <Return>

  3. Obie operacje można połączyć
    :wq lub ZZ

  4. Opuszczenie bez zachowywania
    :q!

Przesuwanie kursora

  1. Przesuwanie kursora o wiersz w górę
    i w dół oraz o znak w lewo i w prawo: -
    <k>, <j>, <h>, <l> lub klawisze kursora

  2. Przesuwanie kursora na koniec lub na początek wiersza - <$> i <^>

  3. Przesuwanie kursora na górę i dół ekranu - <H> i <L>

  4. Przewinięcie tekstu o jeden pełny ekran: <Ctrl-F>, <Ctrl-B>

Wstawianie tekstu

  1. Po naciśnięciu klawisza <i> kolejne znaki są dodawane przed kursorem

  2. Dodanie znaku za kursorem - <a>

  3. Dodawanie tekstu na początku lub na końcu wiersza - <I> i <A>

  4. Usuwanie znaków - <Backspace>

  5. Dodanie linii poniżej kursora - <o>
    Dodanie linii powyżej kursora - <O>

Zamienianie znaków

  1. Zmiana znaku pod kursorem - należy nacisnąć <r>, a następnie nowy znak

  2. Zmiana większej liczby znaków - należy nacisnąć <R>, ciąg znaków, <Esc>

Usuwanie tekstu

  1. Usunięcie jednego znaku spod kursora - klawisz <x>

  2. Usunięcie znaku na lewo od kursora -
    klawisz <X>

  3. Usunięcie całego słowa - należy ustawić kursor na pierwszej literze i nacisnąć <dw>

Operacje na blokach tekstu

  1. Edytor vi ma wewnętrzny schowek,
    w którym jest umieszczany usuwany lub kopiowany tekst

  2. Kursor można następnie umieścić
    w nowym położeniu i wkleić tam zawartość schowka

Operacje na blokach tekstu

  1. Usunięcie jednego wiersza: dd

  2. Usunięcie kilku wierszy: liczba dd

  3. Kopiowanie wierszy: [liczba] yy

  4. Wklejenie zawartości schowka do tekstu
    - na prawo od kursora: p
    - na lewo od kursora: P

Wyszukiwanie tekstu

  1. Wyszukiwanie tekstu
    /wzorzec <Enter>

  2. Po znalezieniu wzorca tekst zostanie tak przewinięty, żeby wzorzec był widoczny na ekranie

Zamiana tekstu

  1. Zastąpienie ciągu znaków - polecenie :s
    :wiersz_pocz,wiersz_koncs/wzorzec/zamiennik

  2. Symbol $ oznacza ostatni wiersz

  3. W każdym wierszu zostanie zamienione tylko pierwsze wystąpienie wzorca - jeśli na końcu nie zostanie dodana opcja /g

  4. Przykład
    :1,$s/file/plik/g

Inne przydatne polecenia

  1. Włączenie numerowania wierszy
    :set number

  2. Wyłączenie numerowania wierszy
    :set nonumber

  3. Odświeżenie ekranu
    <Ctrl-L>

  4. Cofnięcie ostatniego polecenia
    <u>


System operacyjny Unix

Powłoka (shell)

Interfejs użytkownika z systemem

  1. Interfejs

  2. odczytuje naciśnięte klawisze

  3. szuka w pamięci żądanego programu lub polecenia systemu

  4. ładuje program do pamięci

  5. wykonuje go

  6. W systemie Unix interfejsem użytkownika z systemem jest powłoka (shell)



  1. Powłoka

  2. program

  3. część systemu Unix, z którą styka się użytkownik

  4. Powłoka jest automatycznie ładowana po wejściu do systemu

  5. To powłoka wyświetla wszystkie znaki zachęty i komunikaty

Rodzaje powłok

  1. Najpopularniejsze powłoki Unixa

  2. Bourne'a (Bourne Shell) - sh

  3. C (C-Shell) - csh

  4. Korna (Korn Shell) - ksh

  5. Powłoki różnią się składnią niektórych poleceń i zestawem oferowanych narzędzi

  6. Dotychczas omówione polecenia są wspólne dla najpopularniejszych powłok

Rodzaje powłok

  1. Nazwa powłoki uruchamianej w chwili przyłączenia się użytkownika do systemu - przechowywana w pliku
    /etc/passwd

  2. Decyduje o tym - administrator

Mechanizm działania powłoki

  1. Powłoka czyta z klawiatury to, co wpisze użytkownik, do naciśnięcia <Enter>

  2. Tekst może zawierać kilka poleceń

  3. Polecenia w jednym wierszu - oddzielone znakiem ‘;

  4. Powłoka

  5. analizuje wczytany tekst

  6. w razie błędu wypisuje komunikat

Mechanizm działania powłoki

  1. Powłoka uruchamiając program

  2. czeka, aż program się wykona

  3. wyświetla znak zachęty - może znów przyjmować komendy

  4. Typowe znaki zachęty

  5. w csh %

  6. w sh i ksh $

  7. Powłoka może uruchomić program w tle

Rodzaje poleceń użytkownika

  1. Wbudowane polecenia powłoki (wewnętrzne) - np. cd

  2. Wykonywalne programy:

  3. większość poleceń (tzw. zewnętrznych)
    - np. ls, find

  4. kody wynikowe powstałe w rezultacie kompilacji programu (np. w języku C)

  5. Pliki wsadowe (skrypty, shell scripts) z poleceniami do wykonania przez powłokę

Opcje poleceń

  1. Rodzaje opcji poleceń:

  2. jedna litera po znaku ‘-’ (np. -l)

  3. kilka znaków po znaku ‘-’ (np. -d2 );
    znaki po literze są wartością opcji (wartością opcji -d ma być 2)

  4. jedna litera po znaku -, a po spacji wartość (np. -f moj_plik )

Opcje poleceń

  1. Zwyczajowo opcje powinny być podawane

  2. bezpośrednio po nazwie polecenia

  3. przed nazwami jakichkolwiek plików

Uruchamianie plików

  1. Powłoka szuka pliku (polecenia)

  2. jeśli w nazwie pliku występuje ścieżka - tylko w podanym katalogu

  3. jeśli nie - we wszystkich katalogach występujących w zmiennej środowiska PATH

  4. Jeśli katalog bieżący nie występuje w zmiennej PATH, nie jest przeszukiwany - wyraźne żądanie, np.
    ./oblicz

Przekazywanie parametrów

  1. Powłoka

  2. zastępuje metaznaki w parametrach pasującymi nazwami plików

  3. przekazuje parametry programowi

  4. nie interpretuje metaznaków w parametrach otoczonych cudzysłowem

  5. Przykład - wyświetlenie zawartości pliku *.txt
    cat "*.txt"

Klawisze redakcyjne

  1. Klawisze redakcyjne - używane do redagowania zawartości wprowadzanego wiersza

  2. Możliwość redagowania - dopóki nie zostanie naciśnięty klawisz <Enter>

Klawisze redakcyjne

  1. erase - usuwa poprzedzający znak

  2. w zależności od konfiguracji terminala -
    <BackSpace>, <Delete> lub <Ctrl-H>

  3. kill - usuwa cały wiersz

  4. <Ctrl-U>

  5. escape - znak ucieczki (znak wpisany po nim traci specjalne znaczenie)

  6. \

Klawisze specjalne

  1. stop - zatrzymuje wypisywanie danych na ekran (standardowo <Ctrl-S>)

  2. start - ponownie uruchamia wypisywanie (standardowo <Ctrl-Q>)

  3. intr - przerywa wykonywanie programu
    (standardowo <Ctrl-C>)

Klawisze specjalne

  1. quit - zatrzymuje wykonywanie, jeśli program blokuje użycie intr
    (standardowo <Ctrl-\>
    - system tworzy specjalny plik core (obraz wykonywanego procesu)

Polecenie stty

  1. Polecenie stty - do zmiany ustawień klawiszy specjalnych i redakcyjnych

  2. Wyświetlenie bieżących ustawień
    stty
    (czasem stty all lub stty -a)

  3. Przykład - część bieżących ustawień

    speed 9600 baud; evenp hupcl -cread
    intr = ^C; erase = ^G; kill = ^U;

Klawisze specjalne

  1. Ustawienia zmienia polecenie:
    stty klawisz kombinacja_klawiszy

  2. Przykład: stty erase '^G'
    lub: stty erase ^G

Zmienne środowiska

  1. Zmienna środowiska - część środowiska, przekazywanego procesom

  2. Ustawienia standardowych zmiennych środowiska - zwykle w skrypcie (pliku wsadowym), uruchamianym w chwili przyłączania się do systemu

Zmienne środowiska

  1. Standardowe zmienne środowiska to:
    PATH - określa ścieżki wyszukiwania
    plików uruchamialnych
    MAIL - określa nazwę pliku z pocztą
    SHELL - określa typ powłoki
    HOME - określa adres katalogu
    osobistego użytkownika
    TERM - określa typ terminala

Zmienne środowiska

  1. Sposób zmieniania wartości zmiennej środowiska zależy od rodzaju powłoki

  2. w sh i ksh
    zmienna=wartość
    export zmienna

  3. w csh
    setenv zmienna wartość

  4. Jeśli parametr wartość zawiera odstępy lub znaki specjalne, trzeba go ująć w cudzysłów

Zmienne środowiska

  1. Odwołanie do wartości zmiennej:
    $zmienna

  2. Wyświetlenie wartości zmiennej:
    echo $zmienna

  3. Spis zmiennych środowiska
    printenv (dla csh)
    printenv lub export (dla sh i ksh)

Zmienne środowiska

  1. Przykład - kontrola ustawienia typu terminala:
    echo $TERM

  2. Zmiana typu terminala na vt100

  3. dla csh
    setenv TERM vt100

  4. dla sh i ksh
    TERM=vt100
    export TERM

Skrypt inicjujący

  1. Skrypt inicjujący - plik znajdujący się
    w katalogu osobistym użytkownika, uruchamiany po wejściu do systemu

  2. w sh i ksh .profile

  3. w csh .login i .cshrc

  4. Zawartość pliku jest ustalana wstępnie przez administratora systemu, ale może być zmieniana przez użytkownika

Procesy

  1. Program - plik zawierający wykonywalny kod (plik, do którego ktoś ma prawo ‘x’)

  2. Polecenie wykonania programu - powoduje powstanie procesu
    (ang. process)

Strumienie

  1. Do otoczenia każdego procesu należą dwa strumienie (ang. stream)

  2. strumień wejściowy - do czytania poleceń, parametrów itp.

  3. strumień wynikowy - do zapisywania wyników działania programu

Strumienie

  1. Domyślnie oba strumienie odpowiadają
    konsoli

  2. Standardowy strumień wejściowy (standardowe wejście) odpowiada klawiaturze

  3. Standardowy strumień wynikowy (standardowe wyjście) - ekranowi terminala

Przeadresowywanie wyjścia

  1. Wyjście przeadresowuje znak ‘>’

  2. Polecenie
    ls > wynik
    wyśle wynik działania polecenia ls do pliku wynik w katalogu bieżącym

  3. Jeśli plik wynik już istnieje, jego poprzednia wartość zostanie skasowana

Przeadresowywanie wyjścia

  1. W ksh i csh można wydać polecenie
    set noclobber
    Istniejący plik nie zostanie wtedy usunięty

  2. Dopisanie wyniku działania programu do istniejącego pliku - przy pomcy znaków ‘>>’, np.
    ls >> wynik

Łączenie plików

  1. Polecenie cat kopiuje zawartość pliku lub plików do standardowego wyjścia

  2. Przeadresowanie wyjścia - kopiowanie zawartości plików do pliku wynikowego (łączenie plików)

  3. Przykład
    cat pl1.txt pl2.txt > spis.txt
    cat pl3.txt >> spis.txt

Przeadresowywanie wejścia

  1. Znakiem przeadresowania wejścia jest ‘<

  2. Przykład:
    program < dane > wyniki

Potoki

  1. Warunki łączenia programów w potok (ang. pipeline lub pipe)

  2. dane przetwarzane są kolejno przez kilka programów

  3. każdy program wypisuje wynik do pewnego strumienia wynikowego, który jest jednocześnie strumieniem wejściowym innego programu

Potoki

  1. Oznaczenie potoku - znak ‘|

  2. Zapis potoku
    polecenie1 parametry | polecenie2 parametry
    lub np.
    program1 | program2 | program3

Filtry

  1. W potokach często wykorzystuje się
    tzw. filtry

  2. Filtr - program, który

  3. pobiera dane z wejścia

  4. przetwarza je

  5. wysyła je na wyjście przefiltrowane

  6. Przykład:
    ls -l | more



Polecenie grep

  1. Jeśli polecenie przeszukuje wiele plików, na początku każdego wiersza umieszcza nazwę pliku, w którym ten wiersz znaleziono

  2. Jeżeli pominięte zostaną nazwy plików, polecenie pracuje jako filtr czytający dane ze standardowego wejścia
    polecenie | grep [opcje] wzorzec

Polecenie grep

  1. Przykłady

    grep ED students
    grep macierz *
    ls -l | grep rwxrwxrwx

  2. Odmiany polecenia: egrep, fgrep

Polecenie grep

  1. Niektóre opcje polecenia
    -c wypisanie tylko liczby wierszy,
    w których wystąpił wzorzec
    -l jeśli przeszukiwanych jest wiele pli-
    ków - wypisane zostaną tylko nazwy
    tych, w których wystąpił wzorzec
    -v wypisanie tylko tych wierszy, w
    których nie wystąpił wzorzec

Wyrażenia regularne

  1. Wyrażenia regularne są rozumiane przez grep, vi i inne programy

  2. Wyrażenie jest ciągiem znaków

  3. Wyrażenia wyglądają podobnie do wzorców nazw plików

Znaki specjalne w wyrażeniach

  1. Kropka (‘.’) - oznacza dowolny znak

  2. Nawiasy kwadratowe (‘[' i ‘]’) otaczające zbiór znaków - jeden znak ze zbioru

    Wzorzec Odpowiada

abc abc

a.c abc lub aac lub a2c itd.

[abc] a lub b lub c

Znaki specjalne w wyrażeniach

  1. Jeśli pierwszym znakiem po nawiasie (‘[‘) jest karetka (‘^’) - jeden ze znaków nie wymienionych w zbiorze

  2. Oznaczenie zakresu znaków w nawiasach kwadratowych - przy pomocy myślnika

    Wzorzec Odpowiada

    [^abc] d lub e itd.
    [a-z] a lub b lub c itd. do z

Znaki specjalne w wyrażeniach

  1. Ciąg znaków przed znakiem powtórzenia (‘*’) może wystąpić w tekście zero lub więcej razy

    Wzorzec Odpowiada
    a*b b lub ab lub aab itd.
    [ab]*c c lub ac lub aac lub bc
    lub babc itd.
    l.*a luneta lub lawa itd.

Znaki specjalne w wyrażeniach

  1. Każdy znak specjalny poprzedzony zna-kiem ‘\’ traci swoje specjalne znaczenie

  2. Wzorzec nie może być dłuższy od wiersza: znak ‘^’ oznacza dodatkowo początek, a ‘$’ - koniec wiersza


\[ [

^abc abc, jeśli a jest pierwszym
znakiem w wierszu

Znaki specjalne w wyrażeniach

  1. Przykłady zakresów znaków

    - dowolny ciąg małych liter
    [a-z]*

    - dowolna liczba dwucyfrowa
    [0-9][0-9]

  2. Używając wzorca zawierającego znaki specjalne, należy go ująć w cudzysłów

Wyrażenia w poleceniu grep

  1. Wyszukanie w pliku spis1 wszystkich wierszy zawierających ciąg znaków Ad lub ad lub AD lub ad
    grep "[Aa][Dd]" spis1

  2. Wyszukanie wierszy ze znakiem [
    grep "\[" spis1

  3. Szukanie wierszy zaczynających się na A
    grep "^A" spis1

Polecenie sort

  1. Polecenie sort sortuje wiersze podanego pliku (plików) i wysyła wynik na standardowe wyjście

  2. Składnia polecenia
    sort [opcje] [+poz1 [-poz2]] plik

  3. Jeśli w linii poleceń podano więcej niż jeden plik, ich zawartość jest łączona podczas sortowania

Polecenie sort

  1. Domyślnie sortowanie jest realizowane zgodnie z kolejnością kodów ASCII

  2. Każdy wiersz składa się z pól - pozycję pola określa się podając jego numer (tzw. numeracja absolutna zaczyna się od zera)

  3. Parametr poz1 oznacza pierwsze, poz2 - ostatnie pole sortowania (brak paramet-ru poz2 - sortowanie do końca wiersza)

Polecenie sort

  1. Przykłady

    sort students
    sort test*
    sort +1 -2 plik1
    ls -l | sort +3

Polecenie sort

  1. Niektóre opcje polecenia:
    -f sortowanie bez rozróżniania dużych
    i małych liter
    -r sortowanie w porządku odwrotnym
    -u usunięcie powtarzających się wierszy
    -d sortowanie z uwzględnieniem tylko
    liter, cyfr i spacji (ignorowanie
    znaków interpunkcyjnych)

Rozgałęzianie potoku

  1. Polecenie tee czyta dane z wejścia na wyjście i jednocześnie zachowuje je
    w podanym pliku

  2. Przykład:
    cat dane | tee kopia | grep ‘x’

  3. Polecenie tee - często wykorzystywane do sprawdzania, co naprawdę dzieje się w skomplikowanych procesach

Zakończenie sesji

  1. W większości współczesnych instalacji sesję kończy wydanie polecenia exit

  2. W powłokach sh i ksh można też nacisnąć klawisz <Ctrl-D> jako pierwszy w nowym wierszu poleceń

  3. Często instalacje zabraniają używania <Ctrl-D> dla uniknięcia przypadkowego zamknięcia sesji

Komunikaty o błędach

  1. Komunikaty od programu lub powłoki są zwykle krótkie i mają składnię:
    nazwa: komunikat

  2. Przykładowe komunikaty:

  3. No such file or directory - nie ma takiego pliku lub katalogu

  4. Not a directory - to nie katalog

  5. Permission denied - brak prawa dostępu

  6. Almost out of disk space - dysk jest prawie pełny



System operacyjny Unix

Użytkownicy systemu

Konto użytkownika

  1. Użytkownik musi być w systemie zarejestrowany (mieć otwarte konto)

  2. Konto użytkownika - pewien zestaw informacji na jego temat, np.

  3. nazwa

  4. numer UID

  5. nazwa grupy

  6. hasło

Użytkownicy

  1. Rodzaje użytkowników
    - zwykli użytkownicy (ang. users)
    - użytkownik uprzywilejowany (ang.
    superuser), administrator systemu - root

  2. Konto roota - predefiniowane

  3. Spis wszystkich użytkowników systemu - w pliku /etc/passwd (właściciel - root, prawo czytania - wszyscy)

Plik /etc/passwd

  1. Każdy wiersz pliku - informacje o jednym użytkowniku

  2. Pola wiersza - oddzielone dwukropkiem

  3. nazwa konta

  4. zaszyfrowane hasło

  5. numer użytkownika (tzw. UID)

  6. numer jego podstawowej grupy (tzw. GID)

  7. komentarz (np. imię i nazwisko)

  8. nazwa katalogu osobistego

  9. powłoka uruchamiana w chwili logowania

Grupy

  1. Idea grup - umożliwienie kilku użytkownikom dzielenia się wspólnymi zasobami plikowymi

  2. Każdy użytkownik w chwili utworzenia konta staje się członkiem jakieś grupy

  3. Grupy tworzy administrator systemu

  4. Do zmiany grupy - polecenie
    newgrp [opcje] [grupa]

Opis wszystkich grup

  1. Plik opisu grup - /etc/group

  2. Informacje w pliku

  3. nazwa grupy

  4. hasło grupy (tylko w niektórych odmianach Unixa)

  5. numer grupy (GID)

  6. lista nazw użytkowników należących do grupy

Środowisko pracy użytkownika

  1. Pliki /etc/passwd i /etc/group - tzw. ewidencyjne

  2. Pliki inicjujące środowisko użytkownika

  3. /etc/profile - dla wszystkich powłok

  4. $HOME/.profile - dla sh i ksh

  5. $HOME/.login i $HOME/.cshrc - dla csh



Środowisko pracy użytkownika

  1. Systemowe środowisko pracy użytkownika - ustalane na podstawie

  2. danych pobieranych z plików ewidencyjnych i inicjujących

  3. wykonania pewnych czynności wstępnych, opisanych w plikach inicjujących

  4. Środowisko - początkowe (może być modyfikowane po rozpoczęciu sesji)

Prawa dostępu do plików

  1. System Unix sprawdza w kolejności

  2. czy użytkownik jest właścicielem pliku

  3. czy należy do grupy, do której należy plik

  4. prawa dostępu pozostałych użytkowników

Domyślne prawa dostępu

  1. Domyślne prawa dostępu - nadawane plikowi w chwili tworzenia

  2. Do określania praw - polecenie umask

  3. Brak argumentów polecenia - wyświetlanie aktualnych ustawień

  4. Argumenty polecenia - 3 liczby

  5. Przykład
    umask 077

Domyślne prawa dostępu

  1. Argumenty polecenia - prawa dla

  2. właściciela pliku

  3. grupy

  4. pozostałych użytkowników

  5. Każda liczba - suma 3 składników

  6. 1 - wykonywanie

  7. 2 - pisanie

  8. 4 - czytanie

  9. Prawa nie będą nadawane

Zmiana właściciela

  1. Przekazywanie praw własności pliku

  2. innemu użytkownikowi - polecenie chown

  3. innej grupie - polecenie chgrp

  4. Składnia poleceń
    chown nowy_właściciel plik(i)
    chgrp nowa_grupa plik(i)

  5. W niektórych systemach prawo zmiany właściciela ma tylko administrator

Polecenie su

  1. Polecenie su - do zmiany identyfikatora bieżącego użytkownika podczas sesji

  2. Składnia polecenia:
    su [-] [nazwa_użytkownika [arg ...]]

  3. Domyślna nazwa użytkownika - root

  4. Wymaganie - znajomość hasła użytkownika

  5. Znak zachęty dla roota: #

Polecenie su

  1. Polecenie wywołuje nowy proces powłoki

  2. Praca odbywa się nadal w środowisku użytkownika, który wydał polecenie

  3. Opcja '-' - zmiana środowiska na środowisko użytkownika wskazanego w linii polecenia

  4. Wyjście: <Ctrl-D> lub exit



Kontakty z innymi użytkownikami

Wysyłanie komunikatów

  1. Wysłanie bezpośredniego komunikatu do innego użytkownika systemu
    write nazwa_użytkownika [terminal]

  2. Numer terminala - gdy adresat używa kilku

  3. Wyświetlanie komunikatu na ekranie adresata - wiersz po wierszu

  4. Koniec komunikatu - <Ctrl-D>

Wysyłanie komunikatów

  1. Przyjęte konwencje

  2. o’ na końcu wiersza (over) - koniec wiadomości

  3. oo’ (over and out) - koniec konwersacji

  4. Blokada komunikatu - polecenie mesg n
    odblokowanie - polecenie mesg y

Komunikacja interakcyjna

  1. Interakcyjna komunikacja - przy pomocy programu talk

  2. Uruchamianie programu
    talk nazwa_użytkownika [terminal]

  3. Odpowiedź adresata
    talk nazwa_nadawcy

  4. Podział ekranu na dwie części

  5. Zakończenie programu - <Ctrl-C>

Program finger

  1. Lista użytkowników pracujących w systemie w danej chwili
    finger

  2. Szczegółowe informacje o użytkowniku finger uzytkownik

  3. Poszukiwania według

  4. imienia

  5. nazwiska

  6. nazwy konta użytkownika

Program finger

  1. Inne działanie programu finger - informacje o użytkownikach dowolnego komputera w Internecie

  2. Spis pracujących użytkowników serwera
    finger @sbu.ac.uk

  3. Pytanie o konkretnego użytkownika
    finger kaminsam@sbu.ac.uk



Program mail

Poczta elektroniczna

  1. Do odczytywania i wysyłania poczty - program mail (czasem mailx lub inny)

  2. Każdy użytkownik systemu Unix jest właścicielem „skrzynki pocztowej” - pliku o nazwie zapisanej w zmiennej MAIL

  3. Nadchodzący list jest dopisywany do pliku

Odczyt skrzynki pocztowej

  1. Wyświetlenie zawartość skrzynki
    mail

  2. Zawartość skrzynki (w różnych wersjach programu) - spis listów lub wszystkie listy po kolei

  3. Po pokazaniu listu program wyświetla znak zachęty ‘?’ i czeka na dyspozycje

Odczyt skrzynki pocztowej

  1. Niektóre komendy programu mail

<d> - przeznaczenie listu do usunięcia

<+> - przejście do następnego listu

<-> - przejście do poprzedniego listu

<p> - powtórne wyświetlenie listu bieżącego

<q> - zakończenie programu i usunięcie listów uprzednio przeznaczonych do usunięcia

<x> - zakończenie bez usunięcia listów

<r> - wysłanie odpowiedzi do nadawcy listu

Wysyłanie listu

  1. Wysłanie listu do użytkownika
    mail nazwa_użytkownika
    mail adres_użytkownika

  2. Program zwykle pyta o temat (subject)

  3. Kolejne wiersze listu pisze się
    z klawiatury

  4. Zakończenie i wysłanie listu - <Ctrl-D>

Wysyłanie listu

  1. Naciśnięcie dwa razy <Ctrl-C> podczas pisania powoduje wyjście bez wysłania listu

  2. Wysłanie listu do kilku użytkowników jednocześnie:
    mail użytkownik1 użytkownik2



Program ftp





Program telnet









Wyszukiwarka

Podobne podstrony:
Systemy(Unix) wyklad
Systemy(Unix) wykład
Powstanie systemu Unix
Podstawy Systemów Okrętowych wykład 04 Przeciw Pożarnicze
Analiza i pomiar systemów logistycznych wykład 1( 24.02.2008)(1), Logistyka, Logistyka
03 Parzydełkowce, I rok, I semestr, Systematyka zwierząt, wykłady
04 Płazińce, I rok, I semestr, Systematyka zwierząt, wykłady
Współczesne systemy polityczne (wykład 2), Dziennikarstwo i komunikacja społeczna (KUL) I stopień, R
Systemy Operacyjne Wykład 2, UŁ WMiI, Wykłady SYS OP, W 2
Systemy operacyjne - wykłady, Administracja, Administracja, Administracja i samorząd, Polityka spole
Partie i systemy partyjne wykład czwarty
Systemy ubezpiecze n wykład 1
Sieci i systemy elektroenergetyczne wyklad # 10 2006
Sieci i systemy elektroenergetyczne wyklad  12 2006
20 03 2012 Współczesne systemy polityczyne wykłady
Partie i Systemy Partyjne Wyklady[1], Politologia UMCS - materiały, III Semestr zimowy, Partie polit
partie i systemy partyjne - wyklady(39), ▬ Studia Administracja Publiczna