SO lab 4.pdf

(171 KB) Pobierz
ĆWICZENIE nr 1
SYSTEMY OPERACYJNE
LABORATORIUM
ĆWICZENIE nr 4
Temat: Powłoki systemowe (shells)
l. Powłoka Bourne’a (sh)
1.1. Uruchomienie powłoki Bourne'a
Z dowolnej uruchomionej powłoki:
# /bin/sh - uruchomienie powłoki Boume'a (znak zachęty systemowej $)
# /bin/sh - c polecenie - wykonanie polecenia i zakończenie pracy
$ CTRL+D - zamknięcie powłoki
1.2. Wywoływanie poleceń
$ ls –l
$ pwd # Komentarz - # pozwala umieszczać komentarz,
$ ps ; w ; Is -l - wywołanie kilku poleceń w jednym wierszu, ‘;’-separator poleceń
Wykonanie w podprocesie, np.:
$ (cd .. ; cp d.* /fun ) - wykonanie poleceń w nawiasie i powrót do początkowego
katalogu
Nawiasy grupujące, np.:
$ { ls ; w ; } > plik_danych
Zaobserwować różnice pomiędzy poleceniami:
$ echo 'Mój katalog to $HOME'
$ echo „Mój katalog to $HOME"
Potoki:
$ ls | more
$ ls /export/home/| grep 'i*' - wyświetlenie katalogów z i w nazwie;
Proste konstrukcje warunkowe, np.:
$ rm www && echo Poszlo ! - drugie polecenie wykona się tylko wtedy, gdy
pierwsze zakończy się sukcesem.
$ rm posty || echo Nie poszlo ! - drugie polecenie wykona się tylko wtedy, gdy
pierwsze nie zakończy się sukcesem.
Polecenia wbudowane, np.:
$ type ls pwd
Zmienne, np.:
$ z=y
$ p${z}d
$ expr 1 +2
$ a=6
$ expr $a + 3
1.3. Programowanie w języku powłoki sh
Pętla for, np.:
$ for i in i2222 i7777 i3455
Radosław Gołąb: Systemy operacyjne -1-
PWSZ KROSNO
ZAKŁAD SIECIOWYCH SYSTEMÓW
INFORMATYCZNYCH
402190217.001.png
SYSTEMY OPERACYJNE
PWSZ KROSNO
ZAKŁAD SIECIOWYCH SYSTEMÓW
INFORMATYCZNYCH
LABORATORIUM
>do
>echo Hallo $i !
>done
Instrukcja while, np.:
$ while true
>do
>date
>done
(CtrI+C)
Wywołanie skryptu:
• sh skrypt
• ./skrypt
skrypt - jeśli ma prawo wykonywania (nadane poleceniem chmod)
Instrukcje sterujące i wyrażenia złożone, stosowane w skryptach:
if rm $1
then echo Plik $1 usunięty
elif [ ! -f $1 ]
then echo Pliku o nazwie $1 nie ma takiego pliku lub zły typ
else echo Nie ma prawa dostępu do pliku o nazwie $1
fi
2. Powłoka C (csh)
2.1. Inicjalizacja i wybrane parametry powłoki C
% set - wyświetla wszystkie zdefiniowane zmienne powłoki.
% set zmienna=wartość - instrukcja definicji zmiennej powłoki.
Symbol $zmienna pozwala na odwołanie się do zmiennej po jej nazwie, np.:
% set a=(588 abc 3) - definiuje zmienną a
% echo $a(3] - odwołuje się do trzeciego elementu zmiennej a
% set a[3]=6 - definiuje trzeci element zmiennej a
2.2. Histroia poleceń
% history Proszę zapoznać się z mechanizmem historii poleceń
% set history=100
% set savehist=50
Polecenie
Opis
% history
Wyświetla zawartość bufora gdzie przechowywane są wiersze
% !!
Ponowne wykonanie ostatniego polecenia
% !n
Ponowne wykonanie polecenia bieżącej sesji o numerze n
% !-k
Ponowne wykonanie k-tego polecenia od końca
Radosław Gołąb: Systemy operacyjne -2-
402190217.002.png 402190217.003.png
SYSTEMY OPERACYJNE
PWSZ KROSNO
ZAKŁAD SIECIOWYCH SYSTEMÓW
INFORMATYCZNYCH
LABORATORIUM
% !x
Ponowne wykonanie ostatniego polecenia rozpoczynającego się
znakiem x
% !?
wzór?
Ponowne wykonanie polecenia w którego wierszu występował łańcuch
znaków wzór
% n:s/wzorl/wzor2/
Ponowne wykonanie n-tego polecenia lecz ze zmianą argumentów,
gdzie argi i arg2 są argumentami: starym i nowym
% !n:i-k
Ponowne wykonanie n-tego polecenia z argumentami od numeru i do
k (!!:0 - wywołuje ostatnie polecenie bez argumentów, !!:0-3
wywołuje ostatnie polecenie z trzema pierwszymi argumentami)
Mechanizm substytucji nazwy katalogu macierzystego (home directory) poprzez znak
tyldy(~),np.:
% ls ~/plik - wyświetl zawartość pliku plik w katalogu macierzystym
% cd ~i0222 - przejdź do katalogu macierzystego użytkownika -i0222
2.3. Polecenie alias
Służy do tworzenia zastępczych nazw (pseudonimów) dla danego polecenia lub
szeregu poleceń, np.:
% alias h history
% alias dir Is
% alias ls ls -la
% alias ps ps -ef
% alias cd 'cd.\!* ; set prompt='pwd'\>\ \\!%’ - powoduje, że po każdej zmianie
katalogu znak gotowości będzie zawierał nazwę nowego katalogu.
% unalias nazwa - anulowanie przypisania Proszę pamiętać że Aliasy nie są
dziedziczone przez powłoki potomne.
3. Inne powłoki (w tym powłoki ograniczone)
Wywołanie powłoki Koma:
% ksh
% /usr/lib/rsh - ograniczona powłoka Boume'a
% /usr/bin/ rksh - ograniczona powłoka Korna
% /usr/local/bin/tcsh - powłoka tcsh
4. Wykonanie zadań przydzielonych przez prowadzącego
Radosław Gołąb: Systemy operacyjne -3-
402190217.004.png
Zgłoś jeśli naruszono regulamin