UNIX - AGH
Transkrypt
UNIX - AGH
Podstawy Informatyki Metalurgia, I rok Wykład 2 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: [email protected] ) 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 bin lib ls cd chmod ... zaocz jkowalsk home stud anowak bin prac met2012 jlorek knowak var mail dokt 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-- aa -111101100 możemy zapisać dziesiętnie: 754 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 komenda -al opcje /var ↵ 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 kowal nowak janusz PID 37 125 328 TTY tty01 tty02 tty03 TIME 0:34 2:28 1:52 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) COMMAND -csh vi prog.f mail Komendy UNIXa, cd: ls - listowanie zawartości katalogu (listing), 48%{sendzimir}/home/sysadm/wilk/dydaktyka/c>ls kar* karman.cpp karman.out press.dat karman* karman.dat karman1.cpp ls –l – "długi" listing 49%{sendzimir}/home/sysadm/wilk/dydaktyka/c>ls total 526 -rwx-----1 wilk sysadm 20628 Nov 14 2005 -rwx-----1 wilk sysadm 20632 Nov 4 2003 -rw------1 wilk sysadm 3949 Nov 4 2003 -rw------1 wilk sysadm 94 Nov 4 2003 -rw------1 wilk sysadm 199038 Nov 14 2005 -rw-r--r-1 wilk sysadm 4778 Oct 28 2003 -rw------1 wilk sysadm 2830 Nov 14 2005 -l kar* karman* karman.cpp karman.dat karman.out karman1.cpp press.dat ls -al (pokazuje również pliki/foldery z kropką na początku nazwy) np. drwxr-xr-x 11 root 512 Jun 18 13:42 ./ drwxr-xr-x 23 root 512 May 31 08:16 ../ -rw-r--r-- 1 root 120 Oct 18 15:06 .plikrc drwxrwxrwx 10 root 512 Jun 25 13:40 common/ drwx------ 2 root 8192 Feb 18 drwxr-xr-x 14 root 512 Jan 18 -rw-r--r-- 1 root drwxr-xr-x 33 root 2002 prac/ 2097120 Oct 18 15:06 quotas 512 Oct d|rwx|rwx|r-x il. dow. właściciel wielkość d - folder w - prawo pisania do pliku r - prawo czytania pliku x - prawo wykonywania pliku 2000 lost+found/ 7 10:08 stud/ data czas nazwa_pliku mkdir nazwa_folderu - utworzenie folderu nazwa_folderu (make directory) Np. mkdir programy rmdir nazwa_folderu - usunięcie folderu nazwa_folderu, Np. rmdir listy cd nazwa_folderu - zmiana folderu roboczego na folder nazwa_folderu, Np. cd programy cd programy/matem/geometria cd .. - przejście do folderu powyżej folderu roboczego, / (korzeń) cd aa1 aa bb cc cd .. aa1 aa2 aa3 cd /aa/aa2 cc1 pwd – wyświetla nazwę folderu roboczego cp plik1 plik2 - kopiowanie jednego pliku na drugi plik (lub kopia pod inną nazwą/ w innym położeniu), Np. cp prog_1.for prog_2.for rm nazwa_pliku - usunięcie pliku nazwa_pliku Np. rm list3.txt mv nazwa1 nazwa2 - zmiana nazwy pliku nazwa1 na nazwa2, lub przemieszczenie pliku Np. mv zadanie.doc problem.doc rmdir nazwa_folderu - usunięcie folderu nazwa_folderu, Przekierowanie strumienia danych program <plik (dane z pliku zamiast z klawiatury) program >plik (wynik do pliku zamiast na ekran) program >>plik (wynik dopisany na końcu pliku zamiast na ekran) program1 | program2 (wynik programu1 jako dane programu2) Filtrowanie strumienia danych cat plik (drukuje plik na ekranie) cat >plik (znaki z klawiatury kopiuje do pliku, Ctrl-D kończy) cat plik1 plik2 >plik3 (skleja plik1 i plik2, wynik zapisuje do plik3) cat plik |more (more stronicuje wydruk pliku) cat plik |grep wzor (grep szuka w pliku zadanego wzorca i drukuje całe linie ze wzorcem) cat plik |sort (sort sortuje linie pliku ) cat plik |wc (wc zlicza ilość znaków, słów i linii w tekście ) Uwaga! zamiast cat plik można wstawić dowolną komendę, której wynikiem jest tekst, np. ls –l | more Praca zdalna Użytkownicy najczęściej pracują w systemie poprzez sieć komputerową do połączenia służą odpowiednie urządzenia (terminale) lub programy na komputery PC najczęściej stosowane oprogramowanie to telnet (nieszyfrowany) i ssh (szyfrowany) do aplikacji graficznych najczęściej służą programy Xwindows Sieć komputerowa (Internet) laboratorium B-4 B-1 UCI Cyfronet laboratoria B-5 B-6 Poczta komputerowa (E-mail) w UNIX You have mail Adres E-mail: [email protected] mail - komenda poczty komputerowej (informuje, czy jest jakiś list), No mail for ....... (gdy nie ma listu) Gdy jest list: >O O O 1 Mail System Intern Wed Jul 23 13:14 2 Maria M Fri Jul 25 12:03 3 [email protected] Fri Jul 25 12:25 17/589 61/2582 45/1916 DON'T DELETE THIS zyczenia Raport DNS Czytanie listów: mail -> prompt ? p - wyświetlenie listu na ekranie d [n] - usunięcie listu [n] s [nazwa_pliku] - zapisanie listu jako nazwa_pliku 2 - skok do listu o numerze 2 r - odpowiedź na list q - wyjście z poczty x - wyjście z poczty bez dokonania zmian mail adresat - wysyłanie listu do adresata Subject: Nagłówek listu Treść listu (bla, bla, bla ......). Zakończenie pisania listu – Ctrl-D lub przejście do nowej linii i wpisanie kropki ? - pomoc - wyświetla wszystkie komendy poczty Programy do obsługi poczty (Unix): pine, elm Programy pocztowe w Windows (outlook, netscape, mozilla...) Do działania potrzebny jest serwer poczty przychodzącej i serwer poczty wychodzącej. Program pocztowy transferuje zawartość skrzynki pocztowej użytkownika (po autoryzacji) z serwera na lokalny PC. Po przeczytaniu, poczta na serwerze powinna być skasowana! Program pocztowy transmituje napisany list do wskazanego serwera. Ten wysyła pocztę dalej. Nie każdy serwer wyśle naszą pocztę – zabezpieczenia antyspamowe. Konfiguracja poczty – Mozilla Thundebird Konfiguracja poczty – Mozilla Thundebird To dla pracy wewnątrz sieci AGH Dla pracy spoza AGH ustawić wg. http://poczta.agh.edu.pl/info.html Można też ustawić: „bez szyfrowania” ftp (nie szyfrowany, często zablokowany) ftp nazwa komputera (zdalnego) do którego chcemy przesłać lub z którego chcemy skopiować zbiór login: password: ftp> dir - listowanie zawartości zbiorów na zdalnym komputerze cd nazwa katalogu - zmiana katalogu na zdalnym komputerze ascii - przesylanie zbiorow ASCII binary - przesylanie zbiorow binarnych get nazwa zbioru - pobranie zbioru ze zdalnego komputera put nazwa zbioru - przesłanie zbioru do zdalnego komputera mget (mput) * - pobranie (przesłanie) wszystkich zbiorów z danego katalogu. System pyta o każdy zbiór. bye - wyjście z ftp WinSCP Programy do pracy zdalnej telnet dostępny w pakietach do obsługi sieci tcp/ip oraz w Windows (od 95) transmisja nie szyfrowana (możliwość podsłuchu) w zabezpieczonych sieciach i serwerach jest wyłączony telnet w Windows źle obsługuje niektóre funkcje terminala ssh cała transmisja szyfrowana jedyny sposób połączenia przy zabezpieczonych komputerach przenosi w „tunelu” transmisję innych protokołów, np. mail, X11, ftp. klienty i serwery ssh w wersji darmowej są dostępne dla Windows (np. putty) i Unix (openssh) putty http://www.putty.org/ 149.156.111.10 lub sendzimir.metal.agh.edu.pl Programy graficzne praca w systemie klient - serwer obliczenia na serwerze, wyświetlane na terminalu zdalnym terminal to albo specjalne urządzenie, albo program na PC, zazwyczaj płatny najczęściej używany jest znormalizowany system programów o nazwie X11