kolokwia, SOP k1 2004 odp, Systemy Operacyjne (SOP)


Systemy Operacyjne (SOP)

Kolokwium nr 1

Grupa A

Imię i nazwisko: ................................................................................

Numer indeksu: ................................................................................

Zadanie 1. (5 pkt.)

Obliczyć ile katalogów znajduje się w katalogu bieżącym.

ls -pall | grep `[^.][/]$' | wc -l - najlepiej

ls -all | grep `^[d]' | wc -l - policzy też . i ..

echo $[ ` ls -all | grep `^[d]'` - 2 ] - najlepiej

Zadanie 2. (10 pkt.)

Napisać skrypt, który wypisze wszystkie swoje parametry, każdy w osobnej linii, wraz z ich numerami (np. w formacie „numer : parametr”; należy użyć pętli for).

a=1

for par in $@

do

b=$1

echo “parametr nr $a wynosi $b”

let a=a+1

shift 1

done

Zadanie 3. (15 pkt.)

Napisać skrypt działający według następujących reguł:

  1. Dopuszczalne parametry wywołania skryptu to `a' oraz `b'. Pozostałe parametry są błędne.

  2. Jeżeli podano 1 z dozwolonych parametrów należy wypisać drugi z nich.

  3. Jeżeli podano dwa różne dozwolone parametry należy wypisać drugi z podanych parametrów.

  4. W pozostałych przypadkach należy wypisać odpowiedni komunikat o błędzie.


case $# in

1)

case $1 in

a)

echo `b'

;;

b)

echo `a'

;;

*)

echo „zły parametr”

;;

esac

;;

2)

if [ $2 == `a' ] || [ $2 == `b' ]

then

echo $2

else

echo “złe parametry”

fi

;;

*)

echo ”zła liczba parametrów”

;;

esac


Systemy Operacyjne (SOP)

Kolokwium nr 1

Grupa B

Imię i nazwisko: ................................................................................

Numer indeksu: ................................................................................

Zadanie 1. (5 pkt.)

Wypisać nazwy pięciu (jeżeli jest ich mniej, to wszystkich) największych co do rozmiaru plików w danym katalogu posortowanych wg rozmiaru w kolejności malejącej.

ls -Sl | head -n5

Zadanie 2. (10 pkt.)

Napisać skrypt, który dla każdego pliku zwykłego w katalogu bieżącym wypisze jego nazwę oraz jego rozmiar w liniach. Uwaga: jeżeli nie ma odpowiednich praw dostępu, należy zamiast wielkości pliku wypisać komunikat „brak dostępu”.

for file in *

do

if [ -f $file ]

then

echo -n $file “:”

ls -all $file | cut -c 35-43

elif [ ! -r $file -o ! -x $file ]

then

echo ”brak dostępu”

fi

done

Zadanie 3. (15 pkt.)

Napisać skrypt (funkcję), który dla każdego podkatalogu danego katalogu ( oraz dalej w nich rekurencyjnie ) sporządzi plik o nazwie „INDEKS.DIR” zawierający listę wszystkich plików w nim się znajdujących. Uwaga: należy sprawdzać prawa dostępu do danego podkatalogu. Jeżeli nie ma wystarczających praw do wykonania określonej operacji - należy wypisać stosowny komunikat.


wyswietl () {

for file in *; do

if [ -d file ]; then

if [ ! -r $file -o ! -x $file ]; then

echo “brak dostępu”

else

cd $file

wyswietl

cd ..

fi

fi

done

ls -all > index.dir

}

wyswietl


Systemy Operacyjne (SOP)

Kolokwium nr 1

Grupa C

Imię i nazwisko: ................................................................................

Numer indeksu: ................................................................................

Zadanie 1. (5 pkt.)

Napisać polecenie, które wykasuje wszystkie pliki zwykłe należące do użytkownika o rozszerzeniu *.bak, rekurencyjnie, począwszy od bieżącego katalogu.

find . -name ”*.bak” -type f -user $USER -exec rm {} \;

Zadanie 2. (10 pkt.)

Napisać skrypt, który wpisze unikalne linie danego pliku tekstowego, posortowane malejąco według zadanego nr znaku (parametr skryptu )w linii. Jeżeli nie podano parametru skryptu należy go zainicjować jako wartość 1.

if [ $# -le 2 ]; then

sort -r -k1.${2:-1} $1 | uniq -u

else

echo “ble ble”

fi

Zadanie 3. (15 pkt.)

Napisać skrypt (funkcję rekurencyjną) obliczającą wartość wyrażenie wg następującego zależności:

jeżeli n = 0, to F(n) = 1 ,

w przeciwnym wypadku F(n) = n * F(n-1), dla n 0x01 graphic
1

F () {

a=$1

n=$1

if [ $a -eq 0 ]; then

n=1

echo $n

else

a=`expr $a - 1`

let n=${n}*`F $a`

echo $n

fi

return $n

}

F $1

Systemy Operacyjne (SOP)

Kolokwium nr 1

Grupa D

Imię i nazwisko: ................................................................................

Numer indeksu: ................................................................................

Zadanie 1. (5 pkt.)

Napisać polecenie, które powoduje zakończenie procesu o podanej nazwie. (użyć poleceń ps, grep, kill)

kill -9 `ps | grep `nazwa_procesu' | cut -c1-5

Zadanie 2. (10 pkt.)

Napisać skrypt wyszukujący w pliku linie rozpoczynające się od zadanego wzorca (parametr skryptu), następnie sortuje te linie malejąco wg 2-go znaku w linii i zapisuje do pliku o nazwie znalałem.txt.

if [ $# -eq 2 ]; then

grep ”^$1” $2 | sort -r -k1.2 > znalazłem.txt

else

echo ”złe paramatry: par 1 - wzorzec, par 2 -plik”

fi

Zadanie 3. (15 pkt.)

Napisać skrypt, który z listy parametrów wejściowych będących liczbami naturalnymi wybierze liczbę największą, najmniejszą oraz obliczy ich sumę. Wyniki należy wypisać, każdy w osobnej linii. Jeżeli skrypt będzie posiadał mniej niż 3 parametry wejściowe należy wypisać stosowny komunikat.

min=$1

max=$2

sum=0

if [ $# -ge 3 ]; then

for liczba in $@; do

if [ $liczba -lt $min ];then

min=$liczba

elif [ $liczba -gt $max]; then

max=$liczba

fi

let sum=${sum}+$liczba

done

echo “suma =$sum, min=$min, max=$max”

else

echo ”musisz podać co najmniej 3 liczby-parametry”

fi

4



Wyszukiwarka

Podobne podstrony:
Zadania na kolokwium TWP PrStr 2009(1), Studia, Systemy operacyjne
Systemy operacyjne Sop 05 lab
Systemy operacyjne Sop 01 lab
Systemy Operacyjne - Konspekt Agh, Semestr II, SOP
Strzelecki - kolos-wejściówka -pytania i odp, WAT, semestr VI, systemy operacyjne UNIX
Kolokwium Zal Pr Strukturalne 2007-08, Studia, Systemy operacyjne
Kolokwium ZAL 2009 -10 WIOSNA, Studia, Systemy operacyjne
juszczyszyn,systemy operacyjne, pytania na kolokwia
Kolokwium 3 Progr Str, Studia, Systemy operacyjne
Kolokwium Zal Pr Strukturalne 2007-08(1), Studia, Systemy operacyjne
rso odp teoria, wisisz, wydzial informatyki, studia zaoczne inzynierskie, rozproszone systemy operac
Systemy operacyjne
5 Systemy Operacyjne 23 11 2010 Zarządzanie procesami

więcej podobnych podstron