01
Metodyka i Techniki Programowania
Wprowadzenie do systemu UNIX
dr inż. Andrzej Głowacz
2007‐10‐02
Ć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 tcsh (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.