Metodyka i Techniki Programowania
2007‐10‐02
01 Wprowadzenie do systemu UNIX
dr inż. Andrzej Głowacz
Ćwiczenie 1 Uruchamianie systemu Knoppix Linux 5.1.1 DVD
1. Na początku, po włączeniu zasilania w komputerze, należy wybrać system, który ma zostać uruchomiony (Knoppix).
2. System uruchamia program startowy, po czym pyta o podanie dodatkowych opcji do załadowania.
Pomijamy ten krok wciskając [ENTER].
3. W dalszym ciągu ładowane jest jądro systemu, rozpoznawany zostaje sprzęt oraz załadowane niezbędne sterowniki. Po załadowaniu systemu Knoppix, pierwszą rzeczą, którą zobaczymy jest środowisko graficzne KDE i okno z informacją o dystrybucji otwarte w przeglądarce Konqueror. W przeglądarce wpisujemy adres strony przedmiotu http://eit.agh.edu.pl/spe/MiTPI i zapoznajemy się z zamieszczonymi tam materiałami: a) zasadami zaliczenia przedmiotu, b) wykładami oraz c) instrukcjami do laboratorium.
Ćwiczenie 2 Konsola
1. Z paska zadań systemu wybieramy program konsoli (ang. Konsole) ‐ licząc od lewej strony należy kliknąć szóstą ikonę przedstawiającą ekran terminala.
2. Po uruchomieniu konsoli zobaczymy okienko ze znakiem zachęty (ang. prompt) knoppix@Knoppix:~$
3. Zapis ten oznacza, że jesteśmy zalogowani w systemie o nazwie "Knoppix" jako użytnownik o nazwie
"knoppix", zaś aktualną ścieżką jest "~" (tylda). Tylda jest ogólnie przyjętym skrótem oznaczającym katalog domowy użytkownika. W tym przypadku jesteśmy zalogowani w systemie lokalnym ładowanym z dysku komputera.
Ćwiczenie 3 Komendy w systemie Linux
1. W systemie UNIX mamy do dyspozycji wiele komend i możliwości ich łączenia. Jest to oczywiście znaczne ułatwienie dla programistów, przez co UNIX jest chętnie używany do zaawansowanych zadań. Komenda składa się z nazwy, opcji i parametrów, które wprowadzamy w oknie konsoli.
komenda [ opcje] [ parametry]
2. Opcje komendy (zwane również przełącznikami) to zwykle ciąg znaków zaczynający się od "‐" definiuje różne zachowania tej samej komendy. Na przykład opcją polecenia ls wyświetlającego pliki w bieżącym katalogu jest ls –l, która powoduje wyświetlenie rozszerzonej informacji. Parametry (argumenty) określają obiekty, na których działa komenda np. ls –l Desktop w systemie Knoppix wyświetli zawartość katalogu Desktop. Zauważmy, że obowiązkowa w wywołaniu jest jedynie nazwa komendy, natomiast opcje i parametry nie zawsze są wymagane (oznacza to zapis klamrowy []).
3. Komenda uname –a pozwala zorientować się, w jakim systemie się znajdujemy, date wyświetla aktualny czas w systemie. Poleceniem pwd sprawdzamy jaki jest bieżący katalog. Polecenie ls służy do wyświetlania plików w katalogu.
Ćwiczenie 4 Dokumentacja komend
1. Większość komend jest dosyć dobrze udokumentowana. Komendą man komenda wyświetlamy podręcznik dla danej komendy. Na przykład man ls ( ls jest tutaj parametrem komendy man) wyświetli opis komendy wyświetlającej zawartość katalogu ( ls). Po stronach podręcznika man poruszamy się w przód ‐ kombinacjami "^V" (CTRL+V) lub spacją,
w tył ‐ kombinacją "^B" (CTRL+B),
"/" ‐ wyszukiwanie tekstu,
"Q" ‐ wyjście.
2. Dla niektórych komend formą dokumentacji jest info komenda, np. info type.
3. Część komend wypisuje sposób ich użycia po wpisaniu komenda --help, np. ls --help. Z kolei whatis komenda podaje zwięzły opis działania komendy, whereis komenda wyświetla lokalizację komendy i dokumentacji man, type komenda wyświetla informację o typie komendy.
4. Do wyszukiwania słowa kluczowego w całej dokumentacji służy polecenie apropos słowo. Polecenie zwraca strony, na których znaleziono słowo kluczowe.
Ćwiczenie 5 Użytkownicy
1. Użytkownicy systemu UNIX są podzieleni na grupy o różnych uprawnieniach. Zarówno konta użytkowników jak i grupy są zakładane przez administratora systemu o specjalnych uprawnieniach. Swoje identyfikatory możemy sprawdzić wydając polecenie id.
2. Równocześnie w systemie może być zalogowanych wielu użytkowników. Każdy użytkownik może zaś logować się do systemu wielokrotnie. Aby sprawdzić listę zalogowanych użytkowników wydajemy jedną z komend: who, w, finger. Komendy te różnią się między sobą rezultatami i opcjami. Np. użycie finger login wyświetla następującą informację o użytkowniku login: nazwa użytkownika, katalog macierzysty, status zalogowania, status poczty, plik planu, rzeczywiste imię i nazwisko oraz rodzaj używanej powłoki.
Powłoka jest programem interpretującym komendy. Często występujące rodzaje powłok to bash (GNU
Bourne‐Again SHell) oraz t csh (T C‐like syntax SHell).
3. Użytkownicy uruchamiają w systemie programy, które tworzą procesy w pamięci maszyny. Listę naszych uruchomionych procesów możemy sprawdzić komendą ps, lub ew. podając konkretnego użytkownika ps -u login.
4. Zasadniczo działającym procesem jest zwykle powłoka oraz sam program sprawdzający procesy ps –
w chwili jego uruchomienia. Przydatne informacje to PID (unikalny numer procesu), TTY (terminal z którego uruchomiono proces), czas działania oraz nazwa procesu.
Ćwiczenie 6 Logowanie do systemu zdalnego (student.uci.agh.edu.pl)
1. Zamierzamy połączyć się z serwerem zdalnym o nazwie student.uci.agh.edu.pl, który znajduje się w Uczelnianym Centrum Informatyki (UCI). Poleceniem ping serwer sprawdzamy, czy serwer jest osiągalny: ping student.uci.agh.edu.pl. To polecenie przydaje się, gdy z jakiś powodów nie udaje nam się połączyć z serwerem. Aby wyświetlić ścieżkę połączenia sieciowego do serwera wpisujemy komendę traceroute serwer.
2. W celu bezpiecznego zalogowania na serwerze, wydajemy komendę ssh (ang. Secure SHell) ssh login@student.uci.agh.edu.pl,
gdzie login jest nazwą użytkownika którą otrzymaliśmy przy zakładaniu konta na serwerze student w UCI.
3. System serwera pyta nas o hasło. Podajemy hasło (hasło nie jest wyświetlane, żeby nie mogło zostać podpatrzone na ekranie).
password:
4. Po zalogowaniu widzimy informacje o systemie oraz znak zachęty login@student:~ (101) >. W tym momencie jesteśmy w terminalu zdalnego systemu. Odtąd polecenia wydawane w konsoli dotyczą zdalnego systemu!
5. Polecenie passwd służy do zmiany naszego hasła w systemie. Należy podać stare hasło i dwa razy nowe (w celu uniknięcie ew. błędów przy wpisywaniu). Obowiązują te same zasady co przy logowaniu (hasła nie pojawiają się na ekranie). Hasło należy zmienić przy pierwszym logowaniu i powinno być ono zmieniane co pewien czas.
6. Wylogowanie następuje po wydaniu komendy logout. Jesteśmy z powrotem w systemie Knoppix.
Zadania
1. Zapoznaj się dokładnie z zasadami organizacji i zaliczenia przedmiotu. Czy są dla Ciebie jasne? Jeśli masz pytania, jest to najlepszy czas żeby spytać prowadzącego zajęcia.
2. Jeśli to Twój pierwszy kontakt z systemem, naucz się uruchamiać i zamykać system, przeglądarkę oraz konsolę.
3. Zapoznaj się z komendami: man, info, ls, uname, whatis, whereis, type, apropos, id, who, w, finger, ps, ping, ssh. Zwróć uwagę: a) do czego służą te komendy? b) jaka jest ich składnia? c) jakie są ich opcje? d) jakie są ich parametry? Jak myślisz, które komendy będą najczęściej używane?
4. Zauważ i wymień różnice pomiędzy systemem lokalnym ( Knoppix) a systemem zdalnym ( student). Czy sposoby działania komend różnią się pomiędzy tymi systemami?
5. Ze strony http://www.knopper.net/knoppix‐mirrors/index‐en.html pobierz obraz płyty systemu Knoppix Linux 5.1.1 DVD. Zwróć uwagę na numer wersji systemu, rodzaj nośnika (DVD) oraz język systemu (angielski, EN). Po nagraniu płyty, system jest gotowy do użycia bez instalacji (wystarczy uruchomienie komputera z płyty DVD). Jeszcze raz przećwicz wszystkie komendy.