lab3,4


SYSTEMY OPERACYJNE

Sprawozdanie z ćwiczeń laboratoryjnych nr 3 i 4

Prowadzący: dr hab. inż. Antoni Donigiewicz

Wykonał: Szymon Puacz I6Y2S1

Data: 17.03.2008, 31.03.2008

LAB. 3

Ciąg dalszy poleceń systemu UNIX. Loguję się standardowo, podając nazwę użytkownika i hasło, po czym znajduję się w swoim katalogu roboczym, tj. /y2s1_1/.

ln - pozwala dowiązywać dodatkową nazwę do pliku (tzw. „twarde dowiązanie”) - tzn., jeśli zmienimy plik pierwotny, to zmiany zostaną zastosowane też do dowiązania i odwrotnie; twardego dowiązania nie widać bezpośrednio, dowiązanie jest widoczne jako plik; twardego dowiązania nie można zastosować do katalogów

użycie: ln plik1 nazwa2

ln plik1 plik2 katalog - tworzy twarde dowiązania plików w wybranym katalogu

tego polecenia można użyć także z opcją:

ln -s sciezka skrot - tzw. Łącznik miękki zastępujący ścieżkę, inaczej - tworzy skrót do podanej ścieżki, możemy teraz używać skrótu, np. przy operacjach kopiowania

użycie: ln -s /export/home/y2s1_1 dostep - tworzy skrót do katalogu

cp zzz dostep - przy operacji kopiowania pliku możemy posługiwać się skrótem i nie wpisywać cały czas pełnej ścieżki

Adresowanie we/wy - przekierowanie procesów

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x01 graphic

Dla procesu mamy standardowo 1 wejście - klawiaturę i wyjście (monitor).

Oznaczenia przekierowań:

> - przekierowanie do pliku

< - przekierowanie z pliku

>> - dołączenie na końcu pliku

polecenia:

ls -l > wykaz - wynik polecenia listowania zostaje przekierowany do pliku wykaz, a nie na ekran

sort wykaz - porządkuje zawartość pliku wykaz i wynik przekazuje na ekran

who |sort |wc -l - sortuje zalogowanych użytkowników i ich zlicza; do zliczania służy polecenie: wc

wc - zliczanie w pliku

postać: wc [opcje] plik

wc -l - zlicza linie w pliku (znaki nowej linii)

wc -w - zlicza słowa w pliku

wc -c - zlicza znaki w pliku

tee - czyta ze standardowego wejścia i zapisuje do standardowego wyjścia i/lub pliku; można powiedzieć, że "rozwidla procesy"

przykład: who |sort |tee kto |wc -l - zapisuje posortowaną listę użytkowników do pliku kto i zlicza w nim linie

grep - wyświetla pasujące (linie, pliki) zgodnie z opcją

postać: grep [opcje] wzorzec plik

opcje: -c - wyświetla liczbę wierszy, w których znajduje się podany znak

-l - wyświetla nazwy plików pasujących z wzorcem

-v - wyświetla wiersze nie pasujące do wzorca w pliku

-n - wyświetla w pliku wiersze pasujące do wzorca wraz z numerami

Informacje o procesach

Wpisując polecenie id można uzyskać informacje o bieżącym użytkowniku: uid (indywidualny numer użytkownika) i gid (numer grupy).

ps -f - wyświetla informacje o procesach użytkownika, tj.:

UID - nazwa, numer użytkownika

PID - identyfikator procesu

PPID - identyfikator procesu przodka

C - liczba nice, informuje o priorytecie procesu, zawiera się w przedziale <-20;19> i im niższa jej wartośc, tym wyższy priorytet procesu, początkowo liczba ta ma wartość 0

STIME - czas uruchomienia procesu

TTY - nazwa terminala związanego z procesem (np. pts/0)

TIME - czas wykorzystania procesora; procesy nie są absorbujące dla procesora, więc wyświetla się czas zerowy

CMD - polecenie, które uruchomiło proces

ps -e - wyświetla wszystkie procesy uruchomione na serwerze

ćw. Wśród wszystkich procesów odnaleźć swoje i przekierować do pliku

przykład rozwiązania: ps -ef |grep -n `y2s1_1'|sort |tee procesy - wśród procesów wszystkich użytkowników wybieram tylko własne po uid, sortuje je i zapisuje do pliku procesy oraz na ekran

Podglądanie procesów

Tworzę pusty plik `rrr':

cat > rur

i zapisuję w nim następujący skrypt:

echo `'\pPodaj imie: \t\c''

read A

echo `'\nWprowadzono: $A\n''

sleep 10

./rrr - uruchomienie skryptu

Skrypt po uruchomieniu wyświetla tekst `Podaj imie' i pobiera dane od użytkownika, a nastepnie wyświetla i czeka w stanie uśpienia przez 10 sekund; zadaniem jest uruchomić drugie okno i załogować się na serwerze i w tym czasie, gdy będzie wykonywał się skrypt w jednym oknie, w drugim podejrzeć procesy uruchomione.

Gdy system jest w stanie uśpienia, można zauważyć, że oprócz innych uruchomiony jest właśnie proces `sleep'.

Edytor vim

Edytor `vim' uruchamiamy poleceniem:

vim nazwa_pliku

Edytor pracuje w dwóch trybach: poleceń i edycji. W momencie otwarcia - w trybie poleceń.

Nawigacja i polecenia:

strzałki lub h j k l - poruszanie po tekście

0 - przejście na początek wiersza

$ - przejście na koniec wiersza

r - zmiana bieżącego znaku (r znak)

x - kasuje znak

dw - kasuje słowo

dd - kasuje bieżącą linię

D - kasuje linię od bieżącego położenia kursora do końca (kasowany tekst nie ginie - znajduje się w buforze)

p - wstawia tekst z bufora

yw - kopiowanie słowa (należy stanąć na początku słowa)

yy - kopiowanie linii

u - odwołanie ostatniego polecenia

a - wpisywanie tekstu za bieżącym położeniem kursora

i - wpisywanie tekstu przed bieżącym położeniem kursora

ENTER - przejście do nowej linii tekstu

esc - przejście do trybu poleceń

:w ENTER - zapisanie pliku

:wq ENTER - zapis i zakończenie

:q! ENTER - zakończenie bez zapisywania

LAB. 4

tr [opcje] ciag1 ciag2

-c - zastąpienie znaków niewymienionych w pierwszym ciągu

-d - usunięcie wszystkich znaków podanych w ciągu pierwszym

-s - zastąpienie powtórzonych znaków z ciągu pierwszego pojedynczymi

przykład:

tworzę plik o zawartości:

Jeden aaa na iks

Dwa bbb na igrek

Trzy ccc na zet

tr ''[a-z]'' ''[A-Z]'' <nazwa> rezultat - zamienia wszystkie małe litery na wielkie i zapisuje w pliku `rezultat'

tr abc xyz <nazwa> rezultat2 - zamienia wszystkie znaki a b c na x y z i zapisuje w pliku `rezultat2'

cut - wycięcie kolumny lub pól z pliku

cut -b nr_bajtu plik - wycięcie wszystkiego oprócz wymienionego bajtu

cut -c nr_znaku plik - wycina wszystko oprócz znaku o podanym numerze w pliku

cut -d separator -f nr_pola plik - wyświetla pola oddzielone separatorami od pola o podanym numerze do końca

uniq plik - usuwa sąsiednie powtarzające się linie w pliku

Zarządzanie procesami

Został uruchomiony proces man ps, kombinacją klawiszy ctrlZ zawieszam proces, jednak powłoka sshd nie obsługuje zawieszenia procesu, więc przechodzę na powłokę basha poleceniem bash.

Wówczas możliwe jest zatrzymanie procesu i pojawia się wiersz

[1]+ Stopped man ps - 1 oznacza nr procesu zatrzymanego, Stopped stan procesu, a man ps - proces, który został zatrzymany

Możliwe jest uruchomienie procesu w tle poleceniem

bg nr - czyli background i podajemy nr zatrzymanego procesu;

na ekranie objawia się to komunikatem

[1]+ man ps & - & oznacza, że jest to zadanie drugoplanowe

jobs -l wyświetla ukryte procesy i ich stany

fg nr - przywrócenie procesu o określonym numerze jako pierwszoplanowego

kill - przesłanie sygnału do procesu

kill -9 PID - żądanei natychmiastowego zakończenia procesu (zabicia) o podanym numerze identyfikacyjnym

Jako ćwiczenie należało uruchomić plik skryptowy proszący o podanie imienia i sprawdzić numer procesu sleep i zatrzymać go. Najpierw podczas działania procesu sleep sprawdziłem PID poleceniem ps -u uid , a nastepnie użyłem polecenia kill -9 pid.

Edytor strumieniowy SED

Edytor ten działa wierszami.

Schemat polecenia:

sed [opcje] komenda1 [komenda2 ….] [plik1 [plik2]]

W celu dalszego ćwiczenia utworzyłem plik `nast' z zawartością.

sed -e `1 d' <nast> wynik1 - usunięcie pierwszej linii z pliku, rezultat zapisujemy w pliku wynik1

sed -e `1,3 d' <nast.> wynik2 - usunięcie linii 1-3 w pliku, rezultat zapisujemy w pliku wynik2

sed `/[1-3]/ d' - usuwa linie zawierające znaki 1-3

`/^#/ d' - usuwa linie, które mają na początku #

`/#$/ d' - usuwa linie, które mają na końcu #

d w poleceniach oznacza usuwanie, a p wypisywanie

-n - opcja ta nakazuje nie wypisywanie

`/cz/ , /10/ p' - wyświetla od wiersza zawierającego `cz' do wiersza zawierającego `10'

sed -e `s/dwa/zero/' - zamienia łańcuch pierwszy na drugi

Wszystkie polecenia można zapisać w pliku i uruchamiać jako skrypt.

WNIOSKI

Na zajęciach poznaliśmy metody i zasady komunikacji i zarządzania procesami, co daje nam większe możliwości zarządzania systemem. Dzięki poznanym edytorom vim i sed jesteśmy w stanie napisać skrypt i zapisać go w pliku, który później zostanie wykonany

7

PROCES

0 wejście

(stdin) klawiatura

1 wyjście (stdout) monitor

2 wyjście diagnostyczne (stderr) monitor



Wyszukiwarka

Podobne podstrony:
lab3
lab3 kalorymetria
Instrukcja Lab3
lab3 6
lab3
sprawko z lab3 z auto by pawelekm
Lab3 zadanie 2 schemat organizacyjny
Lab3 KWW KT
Podstawy Robotyki lab3 id 36832 Nieznany
Architekrura Systemów Lab3
Lab3 Cpp GPS opis
AKiSO lab3 id 53767 Nieznany
BD 1st 2 4 lab3 tresc 1 1 id 81 Nieznany
LAB3, Szkoła, penek, Przedmioty, Fizyka, Laborki
temat cw3, Informatyka, semestr 5, CPS, lab3
3-L88, Przwatne, Studia, Semestr 4, Elektroenergetyka, Lab, wachta, 3 4, lab3
lab3 struktury danych
Lab3 KWW KARTA TECHNOLOGICZNA
metobl 312B lab3 A143 Chebdowski

więcej podobnych podstron