Podstawy Informatyki Wykład 3 UNIX
Twórcy Dennis Ritchie Ken Thompson Linus Torvalds
Historia systemu UNIX 1966 - rozpoczęcie prac na Multicsem, zespół naukowców z Bell Labs, MIT i General Electric, wśród tych pierwszych Ken Thompson 1969 - pierwsza wersja Unix napisana w asemblerze w ośrodku Bell Labs firmy AT&T (stan New Jersey, USA) przez Dennisa Ritchie i Kena Thompsona... 1983 - rozpoczęcie projektu GNU (GNU's Not Unix) 1991 -wrzesień powstanie jądra Linux, wersja 0.01 1994 - powstają firmy Red Hat Linux oraz Caldera 13 marca - Linux 1.0
Systemy UNIX Na wszystkie typy komputerów, od prostych PC do superkomputerów systemy od początku wielodostępne i wielozadaniowe łatwe w konfiguracji (pliki tekstowe) przeznaczone głównie do pracy zdalnej jasno określone prawa użytkowników
Systemy UNIX Android: jest oparty na jądrze Linuxa MacOS X: niektóre części z implementacji Unixa: FreeBSD i NetBSD Linux od PC po superkomputery, np Zeus w ACK Cyfronet pracuje pod Scientific Linux, IBM BladeCenter HS21 pod Linux RedHat Serwery SUN (np. sendzimir) SUNOS, potem Solaris, od 2011 Oracle Solaris Serwery IBM AiX Silicon Graphics Irix HP HP-UX DEC Ultrix "Darmowe" Unixy Linux, FreeBSD, OpenSolaris itd.
Wielozadaniowość i wielodostęp jednozadaniowość - kolejne zadanie wykonywane po zakończeniu poprzedniego wielozadaniowość - wykonywanie wielu zadań w tym samym czasie. W rzeczywistości zadania są wykonywane kolejno w przydzielonych im przedziałach czasowych (chyba że jest kilka procesorów) wielodostęp - w tym samym czasie z jednego komputera korzysta wielu użytkowników
Praca w systemie UNIX
Konta w systemie UNIX niepowtarzalny identyfikator użytkownika (login) wejście do systemu po podaniu hasła użytkownik posiada katalog domowy i fragment dysku do dyspozycji (często limitowany)
użytkownik posiada skrzynkę pocztową (najczęściej o adresie: login@adres.sieciowy.komputera ) uprawnienia w systemie zależą od przynależności do odpowiedniej grupy
Plik passwd dane użytkowników wsarga:x:2369:800:waldemar Sarga:/home/stud/met2007/wsarga:/bin/tcsh zkulig:x:2370:800:zuzanna Kulig:/home/stud/met2007/zkulig:/bin/tcsh zlitwin:x:2371:800:zofia Litwin:/home/stud/met2007/zlitwin:/bin/tcsh login:hasło:nr:grupa:opis:katalog_domowy:powłoka komenda passwd - zmiana hasła old (login) password dwukrotnie new password hasło nie jest widoczne na ekranie!
Drzewo folderów / (root) usr etc home bin var bin lib stud prac mail ls cd chmod... zaocz met2012 dokt jkowalsk anowak jlorek knowak jkowalsk anowak jlorek knowak
System plików W systemie UNIX zarówno dyski jak i wszystkie urządzenia zgrupowane są w jeden duży system plików każdy plik interpretowany jest jako strumień bajtów pliki urządzeń to są programy do sterowania nimi (drivery) każdy plik ma przypisane uprawnienia dostępu: dla właściciela, grupy i wszystkich
Uprawnienia Właściciel pliku może dodać lub odjąć uprawnienia dostępu do niego prawa dostępu do czytania (r), zapisu, modyfikacji, kasowania (w) oraz do uruchomienia (x) są ustalane oddzielnie dla właściciela (u), grupy (g) i dla innych (o) tylko super użytkownik (root) ma prawa do wszystkiego, ale takie uprawnienia ma tylko administrator systemu Na listingu uprawnienia wyglądają tak: -rwxrwxrwx.............plik u g o
Zmiana praw do pliku: chmod [ugo][+/-][rwx] nazwa_pliku u - właściciel (user) g - grupa (group) o - inni (others) +/- odbieranie (nadawanie) uprawnień chmod go+rx aa nadanie prawa czytania i wykonywania (rx) pliku aa przez grupę i wszystkich innych (go) chmod o-w bb odebranie prawa zapisu (w) do pliku bb dla wszystkich innych
Zmiana praw do pliku - inaczej: chmod nnn nazwa_pliku Jeśli każde prawo dla każdej kategorii użytkowników zinterpretować binarnie (1-jest 0-brak) to np zestaw praw: -rwxr-xr-- -111101100 możemy zapisać dziesiętnie: 754 aa Aby nadać taki zestaw praw (niezależnie od stanu początkowego): chmod 754 aa
Pliki tworzone są przez użytkownika. Mogą być modyfikowane, kopiowane lub usuwane. tekstowe (ASCII, html, źródłowe w c, pas, for), pliki binarne (wykonywalne, graficzne, dźwiękowe, skompresowane...) Nazewnictwo plików : WINDOWS: nazwa.rozszerzenie (Np. list1.txt, prog3.for) nazwa - dowolny ciąg znaków, rozszerzenie - dowolny ciąg znaków UNIX: większa dowolność, np. nazwa nazwa.c aa.bb.cc.nazwa pliki "ukryte" (nie pokazuje ich normalny ls) "ala ma kota" dozwolone, ale nie polecane
Rozszerzenia specjalne: nazwa.txt - plik tekstowy (ASCII) - list1.txt, raport.txt nazwa.exe - plik wykonawczy, nazwa* - plik wykonawczy, nazwa.f - zbiór źródłowy programu w języku FORTRAN, nazwa.p - zbiór źródłowy programu w języku Pascal, nazwa.cpp - zbiór źródłowy programu w języku C++,...
Polecenia w systemie UNIX Przykład: ls -al /var komenda opcje parametry Enter Podstawowe komendy będą pokazane na ćwiczeniach
Komendy Unixa passwd - zmiana hasła old (login) password dwukrotnie new password w - informacja o aktualnie pracujących w sieci write adresat - pisanie tekstu na ekranie adresata talk adresat - rozmowa z adresatem z wykorzystaniem klawiatury i ekranu monitora To "komunikatory" sprzed epoki gg ;-) man komenda - pomoc na temat komendy, czyli tzw. help
ps - informacja o aktualnie wykonywanych zadaniach ps -f pełna informacja o aktualnie wykonywanych zadaniach UID PID TTY TIME COMMAND kowal 37 tty01 0:34 -csh nowak 125 tty02 2:28 vi prog.f janusz 328 tty03 1:52 mail W celu przerwania procesu należy: 1. zalogować się w innym okienku 2. wykonać komendę: ps -f 3. wykonać komendę: kill -9 nn (np. 125)