1.
Wiedząc, że proces załadowany z pliku /usr/sbin/inetd ma PID=1113 oraz PPID=1, na
podstawie poniższego wydruku działania poleceniu ps (HP-UX) narysuj diagram
przedstawiający hierarchie, procesów zaczynając od procesu INIT (0,5 lub 1 pkt.)
UID
PID
PPID
C
STIME
TTY
TIME
COMMAND
arturg
29662
28662
4
13:24:58
pts/t26
0:00
ps –f (5)
arturg
28662
28645
1
12:13:45
pts/t26
0:00
/usr/local/bin/mc –p (4)
root
28664
1113
0
12:13:22
pts/t26
0:00
Telnetd (2)
arturg
28645
28644
0
12:13:32
pts/t26
0:00
-ksh (3)
2.
Na podstawie poniższego wydruku działania polecenia ls określ typ
pliku dla każdej pozycji (0,25 pkt./ maks. 1).
a)
dr-xr-xr-x
2 bin
bin
24
1999
aCC
katalog
b)
lr-sr-xr-t
1 root
sys
24
1999
accept - /usr/sbin/accept
link
c)
-r--r--r--
1 bin
bin
27
1997
gprof.callg
plik
d)
crw-r-----
1 root
sys
24
1999
rlvoll
3.
Który z poniższych wzorców dla polecenia grep dopasuje się do wiersza
zawierającego dowolną liczbę "pustych" znaków
a) ^$,
b) [[:blank:]],
c) ^[[ :blank : ]] *$,
d) ^[[ : b l a n k :]] $.
4 .
Jaki jest wynik działania ciągu poleceń: var = ' plik.sqc' ; echo
$ { v a r % % . * } .
a) .sqc, b) sqc,
c) p l i k . ,
d ) p l i k ,
5.
Polecenie for var; do ... jako listę napisów dla zmiennej var domniema:
a)
nazwy plików w bieżącym katalogu,
b)
nazwy zmiennych środowiskowych,
c)
wartości parametrów pozycyjnych $1, $2, etc.,
d)
opuszczenie listy napisów nie jest dozwolone w tym poleceniu.
6.
Co można powiedzieć o wykonaniu się poleceń cmd1 i cmd2, jeżeli zostało wydane
polecenie
a)
(?) polecenie cmd2 wykona się warunkowo w przypadku porażki polecenia cmd1,
b)
polecenia wykonają się sekwencyjnie jedno po drugim,
c)
polecenie cmd2 wykona się warunkowo w przypadku zwrócenia przez polecenie
c m d 1 kodu 0,
d)
polecenia cmd1 i cmd2 wykonają się "potokowo".
7.
Komentarzem dla skryptów shell’owych (ksh, bash) jest:
a)
dowolny wielowierszowy napis otoczony parą dwuznaków /* i */,
b)
ciąg znaków ograniczony dwoma ukośnikami // i końcem wiersza,
c)
ciąg znaków ograniczony dwoma minusami - - i końcem wiersza.
d)
wszystkie znaki po znaku # aż do końca wiersza.
8.
Które z poniższych sformułowań nie jest prawdziwe:
a)
proces w trakcie realizacji funkcji systemowej może zostać uśpiony,
b)
kod własny procesu wykonuje się w stanie "wykonywany w trybie użytkownika',
c)
pojawienie się przerwania powoduje zmianę stanu procesu z "wykonywany w trybie
użytkownika" do ” wykonywany w trycie jądra”,
d)
po wystąpieniu zdarzenia "budzącego", proces wraca natychmiast do stanu "wykonywany w
trybie jądra".
9.
Sygnał SIGKILL
a)
nigdy nie może zostać zignorowany, ale może zostać przechwycony,
b)
jest domyślnie przyjmowanym sygnałem przez polecenie kill,
c)
powoduje utworzenie pliku core,
d)
jego domyślna obsługa to zakończenie wykonywania procesu.
10.
Które z poniższych sformułowań jest prawdziwe: stan zombie
a)
jest ostatnim stanem procesu, po wyjściu z którego proces przestaje istnieć,
b)
proces przechodzi do tego stanu po wykonaniu funkcji exit oczekując na śmierć rodzica lub
wykonanie przez niego funkcji wait,
c)
proces w stanie zombie może zostać usunięty po przesyłaniu do niego sygnał SIGKILL,
d)
proces w stanie zombie zajmuje wszystkie przydzielone mu wcześniej zasoby systemowe.
11.
Które z poniższych stwierdzeń jest prawdziwe w stosunku do zmiennej w awk:
a)
należy ją zadeklarować używając polecenia var,
b)
jeżeli jest tablicą to jej indeks musi być wartością liczbową,
c)
(?) est zawsze typu tekstowego, ale można jej użyć w kontekście numerycznym,
d)
jeśli zaistniała wewnątrz funkcji, nie jest dostępna poza jej zasięgiem.
12.
Które z poniższych poleceń dokonają zmiany cyfr 0, 1, 2, odpowiednio na litery F, T, N.
a) tr [ 0 - 2 ] FTN,
c) sed ' s / [0-2]/ FTN/g',
b) sed ' y / [0-2]/FTN/',
d) sed ' y / 0 1 2 / F T N / ' ,
13.
Jakie informacje są przechowywane w i-węźle? (0.2 pkt. za każdą
odpowiedź /maks. 2 pkt.)
(rozmiar; typ; ID właściciela, grupy; czas utworzenia, ostatniej modyfikacji,
dostępu, skasowania; ilość dowiązań, bloków dyskowych; prawa dostępu; adresy
bloków)
14.
Korzystając z programu find zapisz polecenie, które usunie
bezwarunkowo wszystkie pliki zwykłe z rozszerzeniem o (wynik
kompilacji modułów źródłowych w języku C) z bieżącego katalogu i
wszystkich jego podkatalogów. (1 pkt.) ściąga: -name, f, \;, -exec, -a, -
type, ., {}.
(find –type f –name ” *.o” –exec rm –f {} \;)
15.
Jeżeli właściciel pliku raport.txt może go czytać i zapisywać, zaś grupa
i wszyscy pozostali tylko czytać, to ósemkowy zapis praw do tego pliku
ma postać:
a) 442,
b) 644,
c) 755,
d) 277.
16.
Naciśnięcie kombinacji klawiszy Ctrl + Z (przy założeniu, że wcześniej zastało wydane
polecenie s t t y susp ”^Z”) spowoduje, ze:
a)
bieżący proces pierwszoplanowy stanie się procesem drugoplanowym (tak samo, jakby został uruchomiony z
użyciem znaku &),
b)
bieżący proces zostanie zatrzymany na skutek odebrania sygnału SIGTSTP i dopiero polecenie bp uczyni go
procesem tła,
c)
bieżący proces pierwszoplanowy zostanie awaryjnie przerwany,
d)
bieżący proces zostanie zatrzymany, zaś tylko wydanie polecenia fg może wznowić jego wykonanie.
17.
Zapisz wzorzec dla polecenia grep, do którego dopisują się wiersze zawierające dowolny napis
ograniczony parą znaczników: początkowym i końcowym. Znacznik początkowy złożony jest z
nawiasu kątowego otwierającego <, dowolnej wielkiej litery oraz nawiasu kątowego zamykającego >.
Znacznik końcowy złożony jest również z nawiasu kątowego otwierającego <, znaku ukośnika /, wielkiej
litery oraz nawiasu kątowego zamykającego >. Para znaczników ma tą samą wielką literę.
Przykładowo wiersz: Ala <B>ma kota</B>, a Ola nie powinien zostać wybrany z pliku.
Wzorzec dla grep umieścić w pojedynczych cudzysłowach. (1 pkt.)
18.
Na podstawie poniższego wyniku działania polecenia ps -l (HP-UX) można powiedzieć:
F
S
UID
PID
PPI
D
SZ
WCHAN
TT
Y
TIME
COM
D
21
T
141
21877
1723
2
219
-
pts/t
0
0:00
mc
1
S
0
17231
1113 38
10cdff068
pts/t
0
0:00
telnetd
1
R
141
22214
1
10
-
pts/t
0
1:51
iiprog
1
Z
141
22215
2221
4
0
-
pts/t
0
1:44
<defu
nct>
1
R
141
22242
1723
2
33
-
pts/t
0
0 : 00
ps
1
S
141
17232
1723
1
47
5c73980
pts/t
0
0:00
ksh
a)
(?) proces 17231 znajduje się w stanie "uśpiony" i oczekuje na zdarzenie o
deskryptorze określonym w kolumnie WCHAN,
b)
(?) proces 21877 został zakończony, gdyż oznaczenie T to pierwsza litera
słowa terminated,
c)
proces 22214 został osierocony i adoptowany przez INIT; być może jego
rodzicem był 21877, zatrzymany po odebraniu sygnału SIGTSTP
(użytkownik nacisnął kombinacje klawiszy CTRL+Z),
d)
(?) wykonanie polecenia kill -9 22215 spowoduje zakończenie procesu
oznaczonego jako <defunc>,
e)
powyższe zdanie jest nieprawdziwe, zamierzony efekt osiągniemy
wykonując polecenie kill -9 22214.
19.
Które z poniższych stwierdzeń jest niepoprawne:
a)
parametry wywołania są przekazywane do funkcji w skrypcie przy pomocy
zmiennych pozycyjnych $1, $2, $3, etc:
b)
nie można przypisać wprost wartości parametrowi pozycyjnemu, gdyż
przykładowo przypisanie 1 "Ala" jest niepoprawne składniowo,
c)
stwierdzenie b) jest poprawne, ale korzystając z polecenia set można
przypisać dowolnej liczbie parametrów zadane wartości,
d)
funkcję wywołujemy w skrypcie podając jej nazwę zaś w nawiasach
okrągłych parametry wywołania np. foo ("Ala").
20.
Jaki jest wynik działania ciągu poleceń: var=1435; echo ${#var}
a)
wyświetlony napis 1435 ponieważ znak # oznacza użycie zmienne var w
kontekście numerycznym,
b)
wyświetlenie liczby 3, bo to jest długość napisu var,
c)
wyświetlenie liczby 4, bo to jest długość napisu 1435,
d)
wyświetlenie napisu #1435.
21.
Które z poniższych stwierdzeń jest prawdziwe odnośnie modelowego
systemu plików w UNIXie:
a)
pozycja katalogowa zawiera nazwę pliku, UID i GID twórcy pliku, prawa
dostępu, datę utworzenia i adres pierwszego bloku dyskowego,
b)
stwierdzenie a) jest absolutną bzdurą, gdyż pozycja katalogowa określa
dowiązanie nazwy pliku do jego i-wezła,
c)
liczba plików w w systemie plików jest limitowana ilością dostępnych i-
węzłów,
d)
każdy system plików ma oddzielną hierarchię katalogów, zaś specjalne
polecenia umożliwia użytkowników i wybór aktywnego systemu plików.
22.
Napisz krótki skrypt w awk, który dla pliku o strukturze <nazwa
miasta> : <liczba mieszkańców>: <dochód> wyznaczy sumaryczny
dochód dla miast o liczbie mieszkańców mniejszej od 10000 i nazwie
rozpoczynających się na literę B. (1 pkt.)
23.
Po wykonaniu polecenia cd bez argumentu:
a)
katalogiem bieżącym staje się zawsze katalog domowy użytkownika
(określony w pliku /etc/passwd),
b)
składnia polecenia wyklucza pominięcie nazwy katalogu,
c)
katalogiem bieżącym będzie katalog określony zawartością zmiennej
HOME,
d)
katalogiem bieżącym będzie katalog o nazwie pobranej ze zmiennej
CDPATH.
24.
Funkcja signal służy do ustalenia trybu (sposobu) obsługi sygnału.
Jakie znasz 3 tryby obsługi sygnałów (0.3 pkt. /maks. 1)
25.
Aby właściciel mógł skasować plik w katalogu muszą być spełnione
warunki:
a)
właściciel zawsze może usunąć swój plik,
b)
plik musi mieć prawo zapisu ustawione dla właściciela pliku,
c)
prawo zapisu do pliku nie jest potrzebne, ale właściciel pliku musi mieć
prawo zapisu do katalogu,
d)
właściciel musi mieć prawo zapisu zarówno do katalogu jak i usuwanego
pliku.
26.
Załóżmy hipotetycznie, że użytkownik utworzył interaktywnie dwie
zmienne: var1="Ala"; export var2="Ola". Następnie uruchomił
skrypt prg.sh (wpisując jego nazwę), który tworzy zmienną
var3="Zewa". Co można powiedzieć o zmiennych:
a)
w skrypcie prg.sh obie zmienne var1 i var2 są dostępne i mają wartości
określone wcześniej przez użytkownika,
b)
tylko zmienna var2 jest dostępna w skrypcie prg.sh, gdyż została jawnie
wyeksportowana,
c)
po wykonaniu skryptu, użytkownik może wyświetlić zawartość zmiennej
var3 i zobaczy napis Zewa, ponieważ proces potomny po zakończeniu
działania zawsze przekazuje swoje środowisko procesowi rodzicielskiemu,
d)
zmienna var3 po zakończeniu skryptu pozostanie na poziomie powłoki
użytkownika nieokreślona.
27.
Jaki jest wynik wykonania ciągu poleceń?
var="echo ala"; echo var;(var) echo $var;(echo ala) echo '$var';($var) echo
"$var";(echo ala) echo '$var'(ala).
28.
Wymień znane Ci identyfikatory numeryczne i inne atrybuty o
wartościach liczbowych związane z procesem.
(PID; PPID; GID;PGID.)