• Nie Znaleziono Wyników

Systemy Operacyjne (SOP) Kolokwium nr 1 Grupa A Imię i nazwisko: ................................................................................ Numer indeksu: ................................................................................ Zadanie 1. (5

N/A
N/A
Protected

Academic year: 2021

Share "Systemy Operacyjne (SOP) Kolokwium nr 1 Grupa A Imię i nazwisko: ................................................................................ Numer indeksu: ................................................................................ Zadanie 1. (5"

Copied!
1
0
0

Pełen tekst

(1)

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

1

(2)

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

2

(3)

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 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

3

(4)

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

Cytaty

Powiązane dokumenty

Szybkie poruszanie się w obrębie dokumentu oraz szybkie zaznaczanie.. Wykorzystanie

Za trzy prawidłowe odpowiedzi na dane zadanie otrzymuje się dodatkowo 1 2 punkta.)..

Wskazujemy jedną z kart i w tym momencie słyszymy od prowadzącego grę: ”Graczu, odkryję jedną z kart, a Ty się zastanów, czy nie chcesz zmienić swojego wyboru”, po czym

Czy każdy język regularny jest rozpoznawany przez automat (być może niedeterministyczny) o następującej własności: usunięcie dowolnych 10 przejść nie zmienia

12. Jeśli na mocy umowy z klauzulą zobowiązania przemiennego dłużnik zobowiązywał się do wydania wierzycielowi niewolnika Spartakusa lub załaty 200 sesterców, a niewolnik zmarł

c) Obie odpowiedzi, tj. Ochrona prawa własności, której celem było definitywne rozstrzygnięcie co do prawa własności, określana była mianem:. a)

Na każdej kartce proszę napisać imię i nazwisko, numer indeksu, numer tematu, numer zadania i numer grupy ćwicze- niowej..

(4p.) Napisać skrypt, który wszystkie pliki z przyrostkiem ~ (np. plik.txt~ ), skopiuje (jeżeli takie są) do katalogu BACKUP w bieżącym katalogu.. Jeżeli katalog BACKUP