background image

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 

STIME 

TTY 

TIME 

COMMAND 

arturg 

29662 

28662 

13:24:58 

pts/t26 

0:00 

ps –f (5) 

arturg 

28662 

28645 

12:13:45 

pts/t26 

0:00 

/usr/local/bin/mc –p (4) 

root 

28664 

1113 

12:13:22 

pts/t26 

0:00 

Telnetd (2) 

arturg 

28645 

28644 

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  

UID 
 

PID 
 

PPI

 

SZ 

WCHAN 
 

TT

 

TIME 

COM

 

21 

141 
 

21877 
 

1723

219 

pts/t

0:00 

mc 
 


 

17231 
 

1113  38 

10cdff068 

pts/t

0:00 

telnetd 

141 
 

22214 
 

10 

pts/t

1:51 

iiprog 

141 
 

22215 
 

2221

pts/t

1:44 

<defu
nct> 

141 
 

22242 
 

1723

33 

pts/t

0 : 00 

ps 

141 

17232 

1723

47 

5c73980 

pts/t

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.)