Lekcja 1, Unix - lekcje
[ Pobierz całość w formacie PDF ]
Lekcja 1
Struktura systemu UNIX
Celem zajęć jest zaznajomienie słuchaczy ze strukturą systemu UNIX oraz prostymi komendami umożliwiającymi zapoznanie się z systemem.
1. System operacyjny UNIX
Unix jest wielozadaniowym, wielodostępnym i interaktywnym systemem operacyjnym o szerokim zakresie zastosowań.
Wielozadaniowość oznacza, że system może wykonywać jednocześnie wiele zadań (programów), w tym również na rzecz jednego użytkownika.
Wielodostępność oznacza, że z usług systemu może korzystać jednocześnie wielu użytkowników.
Interaktywność oznacza, że przy pomocy terminala (urządzenie zawierające monitor i klawiaturę) można przeprowadzać „dialog” z systemem, wprowadzając kolejne polecenia, które są natychmiast wykonywane.
Konfiguracje sprzętowe systemów komputerowych pracujących pod kontrolą systemu Unix mogą być bardzo różne. Do serwera unixowego można podłączać komputery z procesorami RISC, komputery PC, terminale znakowe lub graficzne (X-terminal). Ze względu na odległość terminali od serwera wyróżniamy łącza lokalne i zdalne. Łącza lokalne obejmują komputery podłączone do sieci lokalnej LAN lub łączem kablowym poprzez multiplekser. Łącze zdalne uzyskujemy głównie dzięki modemom i sieci telefonicznej. Przykładową konfigurację unixowego systemu komputerowego przedstawia rysunek.
2. Budowa systemu Unix
System Unix ma budowę warstwową. Centralnym elementem systemu jest sprzęt komputerowy (hardware). Bezpośrednio ze sprzętem komunikuje się jądro systemu (kernel), które pośredniczy pomiędzy urządzeniami komputerowymi a programami. Nad jądrem znajduje się powłoka (shell). Dopiero w shellu możemy uruchamiać programy i skrypty. System Unix umożliwia wykorzystywanie różnych shelli, które różnią się możliwościami, ilością komend, składnią. Najpopularniejsze to standardowy Bourne, rozszerzony Korn, C shell o składni języka C oraz rozpowszechniany z Linuxem shell Bash.
Hardware - sprzęt komputerowy
Kernel - jądro systemu obsługujące:
sprzęt komputerowy (procesor, pamięć, urządzenia zewnętrzne)
procesy wykonywane w systemie (deamons)
hierarchiczny system plików (file system)
Shell - powłoka systemu pośrednicząca pomiędzy użytkownikiem i jądrem, interpretująca polecenia użytkownika:
Bourne Shell
Korn ShellC Shell
Bash Shell
3. Grupy i użytkownicy w systemie Unix
Użytkownicy rozpoczynający pracę w systemie rozpoznawani są za pomocą nazwy (login) i hasła (password). Każdy użytkownik musi należeć do wybranej grupy. Uprawnienia użytkowników i grup ustala administrator systemu (root). W systemie użytkownicy i grupy identyfikowane są przy pomocy numeru uid (user id) oraz gid (group id). Najniższy numer 0 należy do administratora.
Na rysunku przedstawiono cztery grupy użytkowników
nazwa grupy
root
naucz
studenci
class2
numer grupy gid
0
1221
101
21
nazwy użytkowników
root
robert
student1 ... studentf
user1, user2 ... user20
numery użytkowników uid
0
1003
80, 81, 82, 83, 84, 85 ... 96
50, 51, 52, 53, 54, 55 ... 60
4. Wydawanie poleceń w sytemie Unix
Użytkownik komunikuje się z systemem Unix poprzez wydawanie komend interpretowanych i realizowanych przez shell. Składnia polecenia w shellu wygląda następująco:
polecenie –opcje argumenty
Polecenie to jedna z wielu komend dostępnych w systemie Unix lub własny program użytkownika (skrypt).
Opcje modyfikują funkcjonowanie polecenia powodując, że wykonuje się ono w inny sposób niż bez podania opcji. Opcje w systemie Unix to najczęściej pojedyncze litery poprzedzone minusem ( - ). Opcje można łączyć umieszczając tylko jeden minus przed wszystkimi literowymi oznaczeniami opcji.
Argumenty to obiekty, na których wykonywane są polecenia: pliki, katalogi, urządzenia. Wprowadzenie kilku argumentów powoduje kilkukrotne wywołanie komendy z każdym z podanych parametrów.
Przykład wykorzystania komend:
ls
komenda ls podana bez opcji i argumentów wyświetla zawartość bieżącego katalogu
ls -a
komanda ls wywołana z parametrem a wyświetla wszystkie (all) pliki z bieżącego katalogu
ls -la
komenda ls wywołana z dwiema opcjami a i l wyświetla wszystkie pliki z bieżącego katalogu w formie długiej (long)
ls -la dane
komenda ls wywołana z dwiema opcjami a i l oraz z argumentem dane wyświetla wszystkie pliki w formie długiej z podkatalogu dane
ls dane teksty
komenda ls wywołana z dwoma argumentami dane i teksty wyświetla zawartość obu podkatalogów dane i teksty
$
pobierz polecenie
analizuj
wykonaj
odpowiedz
lwysłanie znaku gotowości na terminal i oczekiwanie na polecenie użytkownika.llpobranie polecenia od użytkownikallzdekodowanie polecenia i odszukanie w katalogach odpowiadającego mu programullprzekazanie polecenia do jądra w celu utworzenia odpowiedniego procesu realizującego i oczekiwanie na jego zakończeniellprzyjęcie odpowiedzi od jądra i przekazanie wyniku użytkownikowillpowrót do początku cyklu (pkt 1)l
Shell jest zawsze gotowy do przyjęcia nowego polecenia. Wprowadzenie ciągu znaków zakończonych naciśnięciem klawisza Enter jest sygnałem do pobrania wprowadzonego polecenia. Shell jest interpreterem poleceń co oznacza, że każde wprowadzone polecenie jest natychmiast analizowane, przekształcane na kod zrozumiały dla jądra i wykonywane. Shell pracuje więc w cyklu pobierz – analizuj – wykonaj, który można opisać następująco:
W systemie Unix można wprowadzić kilka komend w jednej linii oddzielonych średnikiem. Shell wykonuje je jedna po drugiej, jak gdyby wpisane były kolejno w nowych liniach.
5. Lista komend
Komendy wykorzystywane w bieżącej lekcji:
date – wyświetla czas oraz datę systemową
cal – wyświetla kalendarz
cal – wyświetla kalendarz na bieżący miesiąc
cal rok – wyświetla kalendarz na wybrany rok (rok podać czterocyfrowy np. 2002)
cal miesiąc rok – wyświetla kalendarz na wybrany miesiąc danego roku
echo – wyświetla podany tekst
echo „tekst”
banner – wyświetla tekst powiększonymi literami
banner „tekst”
clear – czyści okno terminala
man – wywołuje opis komendy z podręcznika elektronicznego (manuala)
man komenda
apropos – wyświetla wszystkie komendy związane z wprowadzonym tekstem
apropos tekst
logname – wyświetla nazwę pod jaką zalogowałeś się do systemu
whoami – podaje jako kto pracujesz w systemie
who am i – podaje oprócz nazwy użytkownika nr terminala i godzinę zalogowania
who – wyświetla listę użytkowników obecnie pracujących w systemie
nazwa użytkownika
terminal, z którego użytkownik jest podłączony
data i czas zalogowania użytkownika
adres IP komputera w sieci
id – wyświetla nazwę i numer użytkownika oraz jego grupy
tty – wyświetla nazwę bieżącego terminala
stty – wyświetla parametry terminala i umożliwia ich zmianę
uptime – wyświetla informacje o systemie: godzinę, czas pracy systemu, ilość zalogowanych użytkowników
w – wyświetla dokładne informacje o systemie (godzina, czas pracy systemu, ilość pracujących osób) oraz listę zalogowanych użytkowników
nazwa użytkownika
terminal, z którego użytkownik jest podłączony
data i czas zalogowania użytkownika
JCPU
PCPU
nazwa aktualnie wykonywanej komendy
uname – wyświetla nazwę systemu, w którym pracujesz
uname – a - wyświetla wszystkie (all) informacje o systemie
nazwa systemu operacyjnego
nazwa sieciowa identyfikująca system
numer wersji systemu operacyjnego
numer komputera i model
identyfikator komputera
licencja systemu operacyjnego
finger – wyświetla dokładne dane o użytkowniku
nazwa użytkownika
imię i nazwisko uzytkownika
terminal, z którego użytkownik jest podłączony
Idle
data i czas zalogowania użytkownika
adres IP komputera w sieci
finger użytkownik – wyświetla nazwę użytkownika,
jego imię i nazwisko,
katalog domowy
domyślny shell
czas zalogowania,
informacje o poczcie
informacje o planach i projektach,
(większość z tych informacji pobierana jest z pliku haseł - passwd)
W systemie Unix informacje o grupach i użytkownikach zapisane są w plikach systemowych:
grupy w pliku /etc/group
użytkownicy w pliku /etc/passwd
6. Ćwiczenia
Nawiąż połączenie z serwerem unix.wlodkowic.pl i zaloguj się swoim nazwiskiem i hasłem (patrz poprzednia lekcja). System powinien wyświetlić znak zgłoszenia shella Korna - $.
Uwaga! Obsługa terminala nie obejmuje polskich liter!
a) ...
[ Pobierz całość w formacie PDF ]