1. Polecenie powłoki cat umoŜliwia: a) przeniesienie pliku

Transkrypt

1. Polecenie powłoki cat umoŜliwia: a) przeniesienie pliku
1.
a)
b)
c)
d)
Polecenie powłoki cat umoŜliwia:
przeniesienie pliku tekstowego do katalogu o podanej nazwie,
połączenie dwóch lub więcej plików tekstowych w jeden cały,
wyświetlenie zawartości pliku tekstowego na ekranie terminala,
utworzenie pliku tekstowego na podstawie danych wprowadzonych z klawiatury
terminala.
2. Jaki jest wynik działania ciągu poleceń: vax=' plik.aqc'; echo ${var%.*}
a).sqc,
b) sqc,
c) plik.,
d) plik.
3. Metaznakami generowania nazw plików (ang. filename generation metacharacters)
są:
a) gwiazdka (*), pytajnik (?) oraz para nawiasów klamrowych ([]), wewnątrz których
specjalne znaczenie ma m.in. znak minus (-) i wykrzykniki (!), jeŜeli jest pierwszym
znakiem,
b) gwiazdka (*), plus(+) oraz para nawiasów klamrowych ([]), wewnątrz których, specjalne
znaczenie ma m.in. znak minus (-) i daszek (^),
c) tylko gwiazdka (*) i pytajnik (? ) jak w MS-DOSie,
d) kropka(.), gwiazdka (*) i pytajnik (?).
4. Jedną z moŜliwości grupowania poleceń w shell’u jest uŜycie poniŜszej składni:
(cmd1;cmd2). Oznacza to m.in., Ŝe:
a) polecenia cmd1 i cmd2 zostaną wykonane sekwencyjnie jedno po drugim w środowisku
aktualnego procesu,
b) polecenia cmd1 i cmd2 wykonają się sekwencyjnie jako odrębny proces,
c) operatory &, |, && i || oraz przeadresowania we/wy dotyczą obu poleceń zawartych w
nawiasach, jeŜeli wystąpią po nawiasie zamykającym,
d) podany przykład uŜycia grupowania przy pomocy nawiasów () jest nieprawidłowy,
poniewaŜ po poleceniu cmd2 powinien wystąpić średnik.
5. Zmienna CDPATH określa:
a) domyślny argument dla polecenia cd wywołanego bez argumentu,
b) ścieŜkę poszukiwania katalogów wskazanych w poleceniu cd,
c) listę nazw katalogów domyślnych, przeglądanych przy poszukiwaniu standardowych
poleceń systemowych i innych plików wykonywalnych,
d) katalog, który zostanie przyjęty jako bieŜący katalog uŜytkownika po wydaniu przez
niego polecenia cd.. .
6. 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.
7. Jaki jest wynik działania poniŜszego programu:
include <stdio.h>
include <signal.h>
void f(int signo) { printf("Przechwycono signał %d\n”,signo)
void main(void ) { signal (SIGINT, f); alarm( 4 ); pause(); puts(”Obudziłem się.....”);}
a) proces po 4 sekundach wypisze komunikat ”Obudziłem się...”,
b) proces po 4 sekundach wypisze 2 komunikaty: ”Przechwycono sygnał 14” i ”Obudziłem
się...” (sygnał 14 to SIGALRM),
c) proces zostanie awaryjnie przerwany po upływie 4 sekund na skutek nieprzechwyconego
sygnały SIGALRM,
d) jeŜeli uŜytkownik naciśnie na terminalu klawisz przerwania (zwykle kombinacja Ctrl +
C), proces wypisze 2 komunikaty: ”Przechwycono sygnał 2” i ”Obudziłem się...” (sygnał
2 to SIGINT).
8. Ciąg wartości parametrów pozycyjnych $1, $2, ...(argumenty wywołania skryptu)
zawiera zmienna specjalna shell'a:
a) $@,
b) $#,
c) $!,
d) $?.
9. Które z poniŜszych poleceń skopiuje zawartość pliku tekstowego dane.txt i zapisze ją
w pliku o nazwie dane.bak:
a) cat dane.txt > dane.bak,
b) cat <dane.txt »dane.txt,
c) cp dane.txt dane.bak,
d) cat <dane.txt >dane.bak.
10. 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.
11. Funkcja systemowa exec:
a) uruchamia polecenie systemowe o podanej nazwie,
b) tworzy nowy proces na podstawie pliku wykonywalnego podanej nazwie,
c) nie tworzy nowego procesu, tylko zmienia kontekst uŜytkownika nowego procesu
(segmenty kodu, danych i stosu),
d) (?) jeŜeli ustawiony jest bit SetUID w pliku binarnym to po pozytywnym załadowaniu
nowego kodu, zmienia efektywny identyfikator uŜytkownika na UID właściciela pliku.
12. Polecenie trap ‘ ‘ 9 oznacza:
a) sygnał o numerze 9 (SIGKILL) będzie ignorowany,
b) dla sygnału 9 (SIGKILL) zostanie ustanowiona domyślna obsługa,
c) polecenie jest niepoprawne, gdyŜ brakuje w nim ciągu poleceń zacytowanych przy
pomocy pary apostrofów,
d) polecenie nie da zamierzonego skutku, gdyŜ sygnał 9 (SIGKILL) nie moŜe zostać
zignorowany.
13. UŜytkownik w shell’u ksh napisał polecenie Is +(abr|pr?)?(.cpp). Oznacza to, Ŝe
mogą zostać wyświetlone pliki:
c) .cpp i prZabr,
d)
a) prabr i abr.cpp,
b) abrpr2abr i prN.cpp,
abrabr.cpp i prZprY
14. 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.
15. W standardowym systemie plików w UNIX’ie:
a) katalogi są plikami podobnie jak pliki zwykłe, zawierają nazwę pliku i numer jego iwęzła,
b) katalog główny zapisany jest na dysku zaraz po boot block’u i ma stałą długość, wobec
tego liczba moŜliwych do utworzenia plików w głównym katalogu jest limitowana jego
pojemnością; pozostałe katalogi są zorganizowane w postaci plików, zatem mogą
zawierać liczbę pozycji ograniczoną jedynie dostępnym obszarem danych na dysku,
c) kaŜda pozycja katalogowa zawiera pełną informację o pliku: jego nazwę, identyfikator
UID i GID twórcy, określenie typu i praw dostępu oraz lokalizację pierwszego bloku
danych,
d) kaŜda pozycja katalogowa wskazuje zawsze dokładnie na jeden plik.
16. Polecenie zakończyło się powodzeniem, gdy jego status zakończenia ma wartość:
a) jeden (1), b)zero (O),
c) róŜną od zera (analogicznie jak w języku C,
d)255.
17. Jaki jest wynik ciągu poleceń: Y=yyyy; X=’$Y’; eval echo ”$X”
a) napis $X;
b) napis $Y;
c) napis yyyy;
d) polecenie eval zostało błędnie uŜyte, gdyŜ słuŜy do obliczania wartości wyraŜeń
arytmetycznych.
18. Zapis [!a-z] w wyraŜeniu będącym wzorcem nazwy pliku w shell'u oznacza:
a) kaŜdy znak zawarty w parze nawiasów klamrowych, a więc !, liter a, minus lub litera z;
b) znak wykrzyknika lub dowolną litera z zakresu od a do z;
c) kaŜdy znak za wyjątkiem małych liter alfabetu łacińskiego;
d) kaŜdy znak z wyjątkiem liter a i z oraz znaku minus.
19. Które z poniŜszych sformułowań nie jest prawdziwe:
a) proces w trakcie realizacji funkcji systemowej moŜe zostać uśpiony;
b) (?) po wystąpieniu zdarzenia "budzącego", proces wraca natychmiast do stanu
”wykonywany w trybie jądra";
c) kod własny procesu wykonuje się w stanie "wykonywa w trybie uŜytkownika";
d) pojawienie się przerwania powoduje zmianę stanu procesu z ”wykonywany w trybie
uŜytkownika” do ”wykonywany w trybie jądra".
20. Jaki jest wynik polecenia echo $(Z:-”*”):
a) wyprowadzi znak * jeśli zmienna Z nie była zdefiniowana;
b) wyprowadzi listę plików w bieŜącym katalogu, jeśli zmienna Z nie była zdefiniowana;
c) wyprowadzi znak *, jeśli zmienna była zdefiniowana, w przeciwnym wypadku wynikiem
będzie pusty wiersz;
d) jeŜeli zmienna Z nie była zdefiniowana, to zostanie wykonane przypisanie do niej
wartości *, a następnie wyświetlona zostanie jej wartość (czyli znak *).
21. Zakładając rozmiar 1024 bajtów dla bloku dyskowego i 4 bajtowy numer bloku,
maksymalną długość pliku o blokach adresowanych bezpośrednio (10) i przy pomocy
jednego bloku pośredniego wynosi:
a) 69kB,
b)133kB
c) 266kB
d) 522kB.
22. Co moŜna powiedzieć o wykonaniu się poleceń cmd1 i cmd2, jeŜeli zostało wydane
następujące zlecenie: cmd1 && cmd2.
a) polecenie cmd2 wykona się warunkowo w przypadku powodzenia polecenia cmd1;
b) polecenia wykonają się sekwencyjnie jedno po drugim;
c) polecenie cmd2 wykona się warunkowo w przypadku poraŜki polecenia cmd1;
d) polecenia cmd1 i cmd2 wykonają się "potokowo".
23. Naciśnięcie kombinacji klawiszy Ctrl + Z (przy załoŜeniu, Ŝe wcześniej zostało
wydane polecenie stty susp "^Z") spowoduje Ŝe:
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 bg uczyni go procesem tła;
c) bieŜący proces pierwszoplanowy zostanie zawsze awaryjnie przerwany;
d) bieŜący proces zostanie zatrzymany, polecenie f g moŜe wznowić jego wykonanie na
"pierwszym" planie.
24. JeŜeli w skrypcie awk umieścimy wiersz BEGIN { FS = "l" } oznacza to, Ŝe:
a) jeŜeli nastąpi dopasowanie rekordu do wzorca BEGIN zmienna FS przyjmie wartość
znaku pionowej kreski;
b) separatorem pól rekordów będzie pionowa kreska;
c) przypisanie w nawiasie klamrowym zostanie wykonane przed odczytem pierwszego
rekordu z pliku;
d) separatorem rekordów będzie pionowa kreska.
25. Zawartość pliku .bashrc jest odczytywana:
a) podczas otwierania sesji;
b) zawsze wtedy, kiedy uruchamiany jest nowy shell interaktywny, z wyjątkiem shell’a
zgłoszeniowego;
c) podczas zamykania sesji;
d) zarówno podczas otwierania sesji jak i przy uruchamianiu nowego shell’a interaktywnego;
26. Nazwy katalogów zapamiętane w zmiennej środowiskowej PATH rozdzielone są
znakiem:
a) średnika (analogicznie jak w DOS’ie),
b) dwukropka,
c) hasha #,
d)
przecinka.
27. WyraŜenie regularne: [+-]\{0, 1\ } [1-9] [0-9] * opisuje:
a) kaŜdą liczbę całkowitą;
b) kaŜdą liczbę całkowitą z wyjątkiem zera;
c) kaŜdą liczbę całkowitą z wyjątkiem zera obligatoryjnie poprzedzoną znakiem plus lub
minus;
d) jest niepoprawne z powodu niewłaściwego uŜycia znaku \.
28. Które z poniŜszych poleceń dokonają zamiany cyfr 0, l, 2 odpowiednie na litery F, T,
N:
a) tr [0-2] FTN;
b) sed 's/[0-2]/FTN/g';
c) sed 'y/0-2/ETN/'; d) sed 'y/012/ETN/'.
29. Jaki jest wynik działania polecenia cut -c2-4 test.txt?
a) „wyciecie” z zawartości pliku test.txt drugiego i czwartego wiersza;
b) „wyciecie” z zawartości pliku test.txt wierszy od drugiego do czwartego,
c) "wycięcie" z kaŜdego wiersza pliku test.txt drugiego, trzeciego i czwartego pola, przy
czym separatorem pól jest dowolny znak odstępu;
d) "wycięcie" z kaŜdego wiersza pliku test.txt znaków zajmujących pozycje od drugiej do
czwartej.
30. Które z poniŜszych poleceń, choć nie jest składnikiem konstrukcji iteracyjnej (pętli)
umoŜliwia niejawnie przetwarzanie iteracyjne:
a) find;
b) repeat;
c) xargs;
d) for.
31. WskaŜ błędne twierdzenie:
a) polecenie mount i umount dostępne jest dla kaŜdego u uŜytkownika systemu (moŜna je
skutecznie wykonać);
b) zawartość katalogu będącego punktem montowania staje się niedostępna do momentu
odmontowania systemu plików;
c) system plików moŜna podmontować z ograniczeniem dostępu tylko do operacji czytania
(mount -r);
d) w niektórych wersjach systemu nowy system plików tworzy się za pomocą polecenia
mkfs (ang. makefile system).
32. Zakładając, Ŝe cc jest kompilatorem języka C, który w trakcie swojej pracy wypisuje
informacje na standardowe wyjście (stdin), zaś komunikaty błędów na standardowe
wyjcie błędów (stderr), uruchomienie kompilacji poleceniem: cc prog.c >report
2>&1, spowoduje, Ŝe:
a) komunikaty błędów zostaną zapisane do pliku report, zaś zwykle informacje zostaną tylko
wyświetlone na ekranie terminala
b) zarówno komunikaty błędów jak i zwykłe informacje zostaną zapisane do pliku report;
c) tylko zwykłe informacje zostaną zapisane do pliku report;
d) polecenie nie jest poprawne, gdyŜ znak & jest wyłącznie operatorem umieszczenia
nowego procesu w tle.
1. Polecenie powłoki mv umoŜliwia:
a) usuniecie pliku o podanej nazwie,
b) przeniesienie pliku z jednego katalogu do drugiego,
c) zmianę nazwy pliku w bieŜącym katalogu,
d) dodanie pliku do archiwum o podanej nazwie.
2. Jaki jest wynik działania ciągu poleceń: var = plik.sqc; echo ${var#*}
a) .sqc
b) sqc
c) plik.
d) plik
3. Komentarzem w skrypcie shell'owym (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) wszystkie znaki po znaku # aŜ do końca wiersza,
d) ciąg znaków ograniczony dwoma minusami -- i końcem wiersza.
4. Jedną z moŜliwości grupowania poleceń w shell’u jest uŜycie nawiasów klamrowych:
{cmd1;cmd2;}.Oznacza to m.in., ze:
a) polecenia cmd1 i cmd2 zostaną wykonane sekwencyjnie jedno po drugim w środowisku
aktualnego procesu,
b) polecenia cmd1 i cmd2 wykonają się sekwencyjnie jako odrębny proces,
c) operatory &, |, && i || oraz przeadresowania we/wy dotyczą obu poleceń zawartych w
nawiasach, jeśli wystąpią po zamykającym nawiasie klamrowym (przykładowo
poprawnym zapisem jest: {pwd; ls;} l more),
d) podany przykład uŜycia grupowania przy pomocy nawiasów {} jest nieprawidłowy,
poniewaŜ po poleceniu cmd2 nie moŜe wystąpić średnik.
Zmienna środowiskowa PS 1 określa:
podstawowy znak gotowości wyświetlany po otwarciu sesji terminalowej,
pomocniczy znak gotowości, zwykle znak "większy" (>),
status ostatnio wykonanego polecenia,
wewnętrzny separator pól wykorzystywany do dzielenia polecenia na części składowe.
Jaki jest wynik działania polecenia cd ~ (ksh, bash)?
zmiana katalogu bieŜącego na katalog o nazwie ~,
zmiana katalogu bieŜącego na root katalog (/),
polecenie jest niepoprawne, gdyŜ jego składnia nie pozwala na tak „egzotyczną" nazwę
katalogu,
d) zmiana bieŜącego katalogu na katalog określony zawartością zmiennej HOME (zazwyczaj
jest to katalog domowy uŜytkownika).
7. Po uruchomieniu poniŜszy program wyświetli napis Ala:
a) 16 razy,
b) 24 razy,
c) 8 razy,
d) 20 razy
8. Kod powrotu zwrócony przez proces potomny uruchomiony w środowisku shell’a,
zapisana jest w zmiennej specjalnej:
a) $?,
b) $#,
c) $@,
d) $%,
9. Wyświetlenie zawartości pliku tekstowego o nazwie dane.txt uzyskamy jako rezultat
wykonania polecenia:
a) cat >dane.txt,
b) more dane.txt,
c) more <dane.txt,
d) cat <dane.txt.
10. JeŜeli właściciel pliku raport.txt moŜe go czytać i zapisywać, grupa czytać, zaś
wszyscy pozostali nie mają dostępu do tego pliku, to ósemkowy zapis praw do tego
pliku ma postać:
a) 640,
b) 620,
c) 046,
d) 750.
11. Po wywołaniu funkcji fork:
a) nowy proces otrzymuje kopię segmentu danych procesu rodzica,
b) nowy proces ma ten sam UID co proces rodzicielski, ale zawsze moŜe go zmienić
uŜywając funkcji setuid(),
c) nowy proces ma ten sam PPID (parent ID) jak jego proces rodzicielski,
d) nowy proces naleŜy do grupy procesów rodzica, ale moŜe ustanowić własną grupę
uŜywając funkcji setpgrp().
12. Polecenie kill -<sig> <pid> (oba parametry mają wartość liczbową).
a) powoduje zawsze przerwanie wykonywania procesu o identyfikatorze <pid> niezaleŜnie
od wartości <sig>,
b) jeŜeli <pid> ma wartość ujemną róŜną od -l przesyła sygnał <sig> do grupy procesów o
identyfikatorze przywódcy równym wartości bezwzględnej parametru <pid>,
c) jeŜeli parametr <sig> jest opuszczony, przesyła sygnał SIGKILL do wskazanego procesu
(parametrem <pid>),
d) jeŜeli parametr <pid> jest równy -1, zaś uŜytkownik nie jest administratorem, przesyła
sygnał <sig> do wszystkich procesów, których rzeczywisty lub efektywny identyfikator
ID jest taki sam jak identyfikator procesu nadawcy (a więc naszego shell’a).
13. Dana jest następująca lista plików: aLLc a.c a.cc bc. Które pliki zostaną usunięte w
wyniku wykonania polecenia: rm a.*c b?c
a) aLLc i bZc,
b) a. c i bc,
c)a.cCc i bZc,
d) aLLc i bc.
14. Jakie warunki muszą być spełnione, aby właściciel mógł uruchomić swój skrypt
shell'owy:
a) musi mieć tylko prawo odczyni pliku,
b) prawo odczytu nie jest wystarczające, potrzeba dodatkowo prawa do jego wykonania,
c) prawo do wykonania jest wystarczające,
d) wystarczy prawo do odczytu, ale tylko wówczas, gdy skrypt wykonujemy w bieŜącym
shell'u przy pomocy polecenia kropka (.)
15. W i-węźle zapisana jest:
a) nazwa pliku,
b) numer pierwszego bloku dyskowego, zaś bloki tworzą listę, której opis dla kaŜdego pliku
umieszczony jest w superblocku,
5.
a)
b)
c)
d)
6.
a)
b)
c)
c) informacja o tym, czy plik jest tekstowy czy binarny,
d) identyfikator UID i GID kreatora pliku.
16. Status zakończenia polecenia ma wartość:
a) 0 - gdy kończy pracę z wynikiem pozytywnym, c) róŜną od zera - gdy zakończyło się z
wynikiem negatywnym,
b) 1 - gdy kończy pracę z wynikiem negatywnym, d) róŜną od zera - gdy kończy się z
wynikiem pozytywnym.
17. Rozpatrzmy trzy polecenia: A)echo * B) echo "*" i C) echo \*
a) w przypadku B) i C) zostanie wyświetlona gwiazdka,
b) w przypadku A) i B) zostanie wyświetlone lista plików w bieŜącym katalogu,
c) tylko w przypadku A) zostanie wyświetlona lista plików w bieŜącym katalogu,
d) we wszystkich przypadkach zostanie wyświetlona gwiazdka, gdyŜ znak ten nie pełni
Ŝadnej specjalnej funkcji.
18. Zapis [!a-z] w wyraŜeniu będącym wzorcem dla polecenia grep oznacza:
a) kaŜdy znak za wyjątkiem małych liter alfabetu łacińskiego,
b) kaŜdy znak zawarty w parze nawiasów klamrowych, a więc !, liter a, znak minus (-) lub
litera z,
c) wykrzyknik lub dowolna litera z zakresu od a do z,
d) kaŜdy znak z wyjątkiem liter a i z oraz znaku minus.
19. 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 stanu zombi po wykonaniu funkcji exit,
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.
20. Jaki jest wynik polecenia echo $ (Z :+"*"}
a) wyprowadzi znak * jeśli zmienna Z nie była zdefiniowana,
b) wyprowadzi listę plików w bieŜącym katalogu, jeśli zmienna Z nie była zdefiniowana,
c) wyprowadzi znak *, jeśli zmienna była zdefiniowana, w przeciwnym wypadku wynikiem
będzie pusty wiersz,
d) jeŜeli zmienna Z nie była zdefiniowana, to zostanie wykonane przypisanie do niej
wartości *, a następnie wyświetlona zostanie jej wartość (czyli znak *)
21. Zakładając rozmiar 512 bajtów dla bloku dyskowego i 4 bajtowy numer bloku,
maksymalną długość pliku o blokach adresowanycfi bezpośrednio (10) i przy
pomocy jednego bloku pośredniego wynosi:
a) 69kB,
b) 133kB,
c) 37kB,
d) 70kB.
22. Co moŜna powiedzieć o wykonaniu się poleceń cmd1 i cmd2:
a) polecenia cmd1 i cmd2 wykonają się "potokowo",
b) oba polecenia zostaną zawsze wykonane: sekwencyjnie jedno po drugim,
c) polecenie cmd2 wykona się warunkowo w przypadku poraŜki polecenia cmd1,
d) polecenie cmd2 wykona się wówczas, kiedy polecenie cmd1 zakończy się powodzeniem.
23. Na podstawie poniŜszego wyniku działania polecenia ps –l (System V) moŜna
powiedzieć:
a) proces 21877 został zakończony, gdyŜ oznaczenie T to pierwsza litera słowa terminated,
b) proces 17231 znajduje się w stanie "uśpiony" i oczekuje na zdarzenie o deskryptorze,
określonym w kolumnie WCHAN,
c) wykonanie polecenia kill -9 22215 spowoduje zakończenie procesu oznaczonego jako
<detunc>,
d) powyŜsze zdanie jest nieprawdziwe, zamierzony efekt osiągniemy wykonując polecenie
kill -9 22214.
24. Zapis: $1 ~ /ala/ { cnt++ }, w programie awk oznacza, Ŝe zmienna cnt zwiększy
swoją wartość, jeŜeli:
a) pierwsze pole rekordu nie będzie napisem ala,
b) w aktualnie analizowanym rekordzie w dowolnym miejscu wystąpi ciąg znaków ala,
c) pierwsze pole rekordu będzie zawierać w sobie podciąg ala,
d) pierwsze pole rekordu będzie identyczne z napisem ala.
25. Który z poniŜszych plików jest plikiem konfiguracyjnym dla interpretera bash:
a) /etc/profile,
b) .profile,
c) .bash_profile,
d) .kshrc
26. Do wyraŜenia regularnego ^$ zostaną dopasowane:
a) wszystkie puste wiersze,
b) wszystkie wiersze zawierające co najwyŜej "białe" znaki (np. spacje, znaki tabulacji),
c) wszystkie wiersze,
d) wyraŜenie jest niepoprawne, gdyŜ pomiędzy dwiema "kotwicami" musi wystąpić co
najmniej jeden znak.
27. Polecenie sed '10,$d' test.txt wyświetli na ekranie terminala:
a) wszystkie wiesze począwszy od dziesiątego do końca pliku,
b) wiersze począwszy od dziesiątego aŜ do najbliŜszego wystąpienia znaku $,
c) dziewięć pierwszych wierszy pliku,
d) dziesiąty i ostatni wiesz pliku
28. Które z poniŜszych stwierdzeń odnośnie tablic w shell'u (ksh, bash) i w awk są
fałszywe:
a) w awk indeksem tablicy jest napis, zaś w shell’u wartość numeryczna (dokładniej liczba
całkowita),
b) w awk moŜna uŜywać tablic pseudo-wielowymiarowych, gdyŜ zmienna SUBSEP zawiera
znak słuŜący do połączenia napisów indeksujących,
c) w shell'u przed uŜyciem tablicy naleŜy ją zadeklarować korzystając z polecenia dim,
d) jeŜeli tablica była indeksowana napisami o wartościach liczbowych to uŜycie konstrukcji
awk: for ( var in arr ) gwarantuje, Ŝe zmienna var będzie przyjmować wartości kolejnych
elementów tablicy arr zgodnie z rosnącą wartością liczbową indeksu.
29. Do wyraŜenia regularnego: \ (\..*\) : \ (\..*\) : \1: \2 (akceptowanego przez polecenie
grep) opasuje się tekst:
a) AC:B:AC:B,
b) AC:ALZ:\1:\2,
c) \(.AC\) :\ (.ALZ\) :\1:\2, d).ALZ:
.OLZ: .ALZ: .OLZ.
30. Test [ $var -eq $ref ] oznacza:
a) porównanie napisu $var z napisem $ref, zatem wynikiem jest zawsze fałsz,
b) porównanie napisu będącego wartością zmiennej var z napisem będącym wartością
zmiennej ref; prawda, jeŜeli napisy są identyczne,
c) porównanie liczbowej wartości zmiennej var z wartością liczbową zmiennej ref; prawda
jeŜeli wartości są róŜne,
d) jeŜeli $ref lub $var nie ma poprawnej wartości numerycznej, występuje błąd składni, gdyŜ
test dotyczy równości liczb.
31. Efektywny .identyfikator uŜytkownika (EUID) to:
a) identyfikator uŜytkownika UID, który rozpoczął dany proces (ściśle mówiąc jest
odziedziczony po procesie rodzicu, np. shell’u zgłoszeniowym)
b) identyfikator uŜytkownika UID, który jest uŜywany do rozpoznawania praw dostępu
danego procesu do zasobów systemu,
c) identyfikator właściciela pliku, z którego załadowany został kod programu,
d) identyfikator ten zawsze jest równy rzeczywistemu identyfikatorowi uŜytkownika, o ile
proces nie jest proc. systemowym (uruchomionym przez root’a)
32. Które z poniŜszych stwierdzeń jest fałszywe:
a) dowiązanie (link) twardy, jest to powiązanie nazwy pliku z jego i-węzłem (tak więc kaŜda
pozycja katalogowa jest twardym dowiązaniem),
b) link symboliczny jest plikiem, który wskazuje na lokalizację innego pliku,
c) oba rodzaje dowiązań (tzn. twarde i symboliczne) mogą dotyczyć katalogów,
d) przeniesienie pliku za pomocą polecenia mv do innego katalogu nie ma wpływu na inne
twarde dowiązania do tego pliku.
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.)
PI PP C STI TT TI COMMA
D ID
ME Y M
ND
E
29 28 4 13: pts 0:0 ps –f (5)
66 66
24: /t2 0
2 2
58 6
28 28 1 12: pts 0:0 /usr/local/
66 64
13: /t2 0 bin/mc –p
2 5
45 6
(4)
28 11 0 12: pts 0:0 Telnetd
66 13
13: /t2 0 (2)
4
22 6
art 28 28 0 12: pts 0:0 -ksh (3)
ur 64 64
13: /t2 0
g 5 4
32 6
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- 2 bi b 2 19 aCC
katalog
xrn i 4 99
xr-x
n
b)lr- 1 ro s 2 19 accept link
srot y 4 99 /usr/sbin/ac
xr-t
s
cept
c)-r-- 1 bi b 2 19 gprof.callg plik
r--r- n i 7 97
n
d)crw 1 ro s 2 19 rlvoll
-r--- ot y 4 99
-s
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) ^[[ : blank :]] $.
4. Jaki jest wynik działania ciągu poleceń: var = ' plik.sqc' ; echo $ {v a r% % .* }.
a) .sqc, b) sqc,
c) plik.,
d) plik,
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 cmd1
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”,
UI
D
art
ur
g
art
ur
g
ro
ot
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/012/FTN/',
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ć:
c) 755,
d) 277.
a) 442,
b) 644,
16. Naciśnięcie kombinacji klawiszy Ctrl + Z (przy załoŜeniu, Ŝe wcześniej zastało wydane
polecenie stty 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 U PI P S WC T TIM C
2 T 1 21 1 2 pt 0:00 m
1 S 0 17 1 3 10cd pt 0:00 tel
1 R 1 22 1 1 pt 1:51 iip
1 Z 1 22 2 0 pt 1:44 <d
1 R 1 22 1 3 pt 0 : ps
1 S 1 17 1 4 5c73 pt 0:00 ks
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.)
1.
a)
b)
c)
d)
Po wywołaniu funkcji fork:
nowy proces otrzymuje kopię segmentu danych procesu rodzica,
nowy proces ma ten sam UID i GID jak proces rodzica,
nowy proces ma inny PPID niŜ jego proces rodzicielski,
proces rodzicielski zawsze czeka na zakończenie działania swojego potomka, po czym
jego wykonanie jest wznawiane.
2. Proces w systemie UNIX:
a) po przejściu do stanu „wykonywany w trybie uŜytkownika” pozostaje w nim tak długo
dopóki nie wywoła w nim jakiejś funkcji systemowej – co stanowi jedyny sposób na
przekazanie przekazanie procesora innemu procesowi,
b) posiada przypisany stały priorytet, który wykorzystywany jest przez zarządcę procesów w
algorytmie szeregowania zadań: priorytet ten moŜe jednak zostać zmieniony poleceniem
renice,
c) moŜe zmienić swój identyfikator UID, ale tylko wówczas gdy wykonuje się jako proces
systemowy (na rzecz uŜytkownika root),
d) z wyjątkiem procesu INIT tworzony jest wyłącznie poprzez wykonanie specjalnej funkcji
fork lub vfork
3. Wyjaśnij pojęcia: segmentacja pamięci - (podzielenie pamieci na mniejsze bloki)
program – (kod wykonywalny zapisany na dysku) U-obszar – (UAREA opisuje stan
procesu, struktura opisująca korzeń sys. plików dla procesu, stosowane do zamiany
nazwy ścieŜkowej na i-węzeł) kontekst procesu – (informacje sterujące, zawiera m.in.
licznik rozkazów)
4. Po uruchomieniu poniŜszy program wyświetli napis Ala:
#include <stdio.h>
int main (void)
{ if (fork ()) { fork (); fork () }
fork (); puts („Ala”); return 0; }
a) 16 razy,
b) 10 razy,
c) 8 razy,
d) 12 razy,
5. Kod powrotu zwrócony przez proces potomny uruchomiony w środowisku shell’a
zapisana jest w zmiennej specjalnej:
a) $# b) $? c) $@ d) $%
6. Rozpatrzmy trzy polecenia: A) echo * B) echo „*” i C) echo \*
a) w przypadku B i C zostanie wyświetlona gwiazdka,
b) w przypadku A i B zostanie wyświetlona lista plików w bieŜącym katalogu,
c) tylko w przypadku A zostanie wyświetlona lista plików w bieŜącym katalogu
d) we wszystkich przypadkach zostanie wyświetlona gwiazdka gdyŜ znak ten nie pełni
Ŝadnej specjalnej funkcji,
7. Co moŜna powiedzieć o wykonaniu się poleceń cmd1 i cmd2, jeŜeli zostało wydane
następujące zlecenie: cmd1 && cmd2:
a) polecenie cmd2 wykona się warunkowo w przypadku powodzenia polecenia cmd1,
b) polecenia wykonają się sekwencyjnie jedno po drugim,
c) polecenie cmd2 wykona się warunkowo w przypadku poraŜki polecenia cmd1,
d) polecenia cmd1 i cmd2 wykonają się potokowo,
8. JeŜeli prawa dostępu do pliku skrypt prog. sh moŜna zapisać ósemkowo w następujący
sposób - 157, to:
a) właściciel posiada wprawdzie prawo do wykonania, jednak uruchomienie skryptu nic jest
moŜliwe, bo nie ma prawa jego odczytu.
b) jakikolwiek inny uŜytkownik naleŜący do grupy właściciela moŜe uruchomić skrypt, ale nic
moŜe modyfikować jego zawartości.
c) dowolny uŜytkownik, który nie naleŜy do grupy właściciela, moŜe skutecznie zmodyfikować
zawartość skryptu.
d) poniewaŜ właściciel pliku naleŜy do grupy, która ma prawo odczytu skryptu, zatem moŜe i on
wyświetlić zawartość skryptu przy pomocy polecenia more prog.sh.
9. Zakładając rozmiar 1024 bajty dla bloku dyskowego i 4 bajtowy numer bloku, określ
maksymalną długość pliku (zakładamy istnienie 10 bloków bezpośrednich i wykorzystanie
tylko dwóch poziomów pośredniości).
10. Które z poniŜszych stwierdzeń o sygnałach są nieprawdziwe:
a) (?) sygnał SIGCHLD (śmierć potomka), o ile nie zostanie przechwycony, powoduje przerwanie
pracy proces rodzicielskiego.
b) sygnał SIGKILL nie moŜe zostać przechwycony,
c) po zakończeniu obsługi przechwyconego sygnału, system zawsze wznawia przerwana funkcji
systemową niezaleŜnie od jej rodzaju,
d) po wylogowaniu się uŜytkownika, sygnał SIGHUP jest wysyłany do grupy procesów
przypisanych do jego terminala.
11. Polecenie ls | xargs –i echo {} i ls | xargs echo
a) (?) wyświetlają tą samą informację, ale w innej formie,
b) wynik działanie polecenia będzie identyczny,
c) pierwszy przypadek jest składniowo niepoprawny, gdyŜ para znaków {} wymaga cytowania,
d) oba polecenia są poprawne składniowo ale w drugim przypadku nic nie zostanie wyświetlone bo
echo nie ma argumentu,
12. Korzytając z programu sed napisz polecenie które w pliku tekstowym wymieni kaŜde
wystąpienie napisu <FILENAME> ścieŜkową nazwą pliku (przykładowo /usr/lib/libC.so)
zawartą w zmiennej o nazwie FILENAME
13. Co naleŜy zrobić aby skryptowe polecenia cmd potraktowało 4 kolejne wiersze skryptu
jako zawartość swojego standardowego wejścia
14. UŜytkownik w shell’u ksh napisał polecenie ls +(abr|pr?)?(.cpp) oznacza to Ŝe mogą
zostać wyświetlone pliki:
a) (?) prabr i abr.cpp, b) (?) abrpr2abr i prN.cpp, c) .cpp i prZabr,
d) abrabr.cpp i
prZpry
15. Co naleŜy dopisać do skryptu w awk aby moŜna było go uruchomić bezpośrednio z
poziomu shell’a
MoŜliwe są dwa parametry a musi być przynajmniej jeden parametr .[wzorzec] [{procedura}]
16. Zakładając rozmiar 512 bajtów dla bloku dyskowego i 4 bajtowy numer bloku określ
maksymalną długość pliku (zakładamy istnienie 10 bloków bezpośrednich i trzech
poziomów pośredniości)
17. Liczba NI (nice):
a) (?) oznacza absolutny Ŝądany priorytet dla uruchamianego procesu
b) (?) jej ujemna wartość oznacza Ŝe priorytet procesu będzie podwyŜszony
c) (?) priorytet procesu wyliczany jest dynamicznie z uwzględnieniem wartości NI
d) dla procesu prog wynosi minus pięć, jeśli uŜyje się wywołania /usr/bin/nice –5 prog
18. funkcja systemowa exec:
a) uruchamia polecenie systemowe o podanej nazwie,
b) tworzy nowy proces na podstawie pliku wykonywanego o podanej nazwie
c) nie tworzy nowego procesu tylko zmienia kontekst uŜytkownika nowego procesu
(segmenty kodu, danych i stosu)
d) jeŜeli ustawiony jest bit SetUID w pliku binarnym to po pozytywnym załadowaniu
nowego kodu zmienia efektywny identyfikator uŜytkownika na UID właściciela pliku
19. jaki jest wynik działania powyŜszego programu:
#include <stdio.h>
void main (void)
{ alarm (4); pause (); puts („obudziłem się...”); }
a) proces po 4 sekundach wypisze komunikat „obudziłem się..”
b) program jest niepoprawny gdyŜ nie podano argumentu funkcji pause ()
c) proces zostanie awaryjnie przerwany po upływie 4 sekund na skutek nieprzechwyconego
sygnału SIGALRM
d) poniewaŜ funkcja pause () czeka na dowolny sygnał więc naciśnięcie klawisza ^C przed
upływem 4 sekund powinno wymusić wypisanie napisu „obudziłem się..”
20. wskaŜ błędne twierdzenie
a) (?) polecenie mount i umount dostępne jest dla kaŜdego uŜytkownika systemu (moŜna je
skutecznie wykonać)
b) (?) zawartość katalogu będącego punktem montowania staje się niedostępna od momentu
odmontowania systemu plików
c) system plików moŜna podmontować z ograniczeniem dostępu tylko do operacji czytania
(mount –r)
d) (?) w niektórych wersjach systemu nowy system plików tworzy się za pomocą polecenia
mkfs
e) liczba plików w standardowym systemie plików jest limitowana tylko wielkością
dostępnego obszaruwolnych...
21. wyjaśnij pojęcia: stronnicowanie pamięci- podział pamięci na strony, processegment danych segment kodu, super block- wszystkie wolne i-węzły i bloki dyskowe,
grupa procesów- jeden proces tworzy następne,
22. zinterpretuj zawartość rekordu pliku /etc/passwd na podstawie poniŜszego
przykładu
beta (login); :/fvd2IzaTlgxI (hasło); 103-(UID); 500-(GID); Beata-(imię); Kubicka(nazwisko); /u/bea-(katalog domowy);
/usr/bin/ksh (powłoka uŜywana)
23. proces utworzony poleceniem db2 <wsad.cuts &
a) nie będzie posiadał terminala sterującego, zatem próba zapisu przez niego czegokolwiek
na standardowe wyjście spowoduje zatrzymanie procesu na skutek sygnału SIGTTOU
b) proces zostanie uruchomiony w tle tzn. shell nie będzie oczekiwał na jego zakończenie
c) wyniki działania procesu zostaną zapisane do pliku wsad.out
d) po wylogowaniu się proces uŜytkownika nie zostanie przerwany gdyŜ pracuje w tle
24. uŜytkownik w shell’u bash napisał polecenie ls lib {c*,d?}.{sl,so} oznacza to Ŝe mogą
zostać wyświetlone pliki:
a) libc0.s1 i libdce.so, c) libd2.s0 i libc.sh,
b) libd.sh i libc12.so, d) libdf.s1 i libc0.so
25. liczbę parametrów pozycyjnych zapisana jest w zmiennej specjalnej
a) $#, b) $?, c) $@, d) $%,
26. Zmienną środowiskową jest:
a) kaŜda zmienna zdefiniowana poleceniem typu var=value (np. var=12)
b) zmienna jawnie wyeksportowana przy pomocy polecenia export
c) zmienna var jeśli wcześniej zostało wydane polecenie typeses –x var
d) kaŜda zmienna w procesie potomnym, jeśli program zostanie wywołany w sposób:
<nazwa_programu> <zmienna>=<wartość>..., np.ksh ala=12,
27. jeŜeli maska praw dostępu do plików została ustawiona następująco: umask 246 to
po wydaniu ciągu poleceń echo „Ala” > a; mkdir b otrzymamy następującą kolumnę
przy poleceniu ls
a) –r---w---- a; dr-x-wx—x b
b) -----w—r a; d—x-wx-r- b
c) –r-x-w---- a;
-r-x-w---- b
d) –rw-r----- a; drwxr-x—x b
28. jakie warunki muszą być spełnione aby właściciel mógł uruchomić swój skrypt
shell’owy:
a)
b)
c)
d)
musi mieć prawo odczytu pliku
prawo odczytu nie jest wystarczające, potrzeba dodatkowo prawa do jego wykonania
prawo do wykonania jest wystarczające
wystarczy prawo do odczytu ale tylko wówczas gdy skrypt wykonujemy w bierzącym
shell’u przy pomocy polecenia kropka (.)
1. Liczba parametrów z jaką została wywołana funkcja w shell'u. zapisana jest w
zmiennej specjalnej:
a) $#,
b) $?, c) $@,
d)$!,
2. Które z poniŜszych stwierdzeń jest prawidłowe odnośnie poniŜszego skryptu:
var=Ala
cat << EOF
$var:
EOF:
a) po uruchomieniu zostanie wyświetlony napis: $var
b) po uruchomieniu zesunie wyświetlony napis Ala;
c) w treści skryptu oba napisy EOF moŜna wymienić na ZIUTA - nie zmieni to wyniku jego
działania;
d) skrypt nie jest poprawny, gdyŜ $var jest niedozwolonym poleceniem shell’a.
3. Co moŜna powiedzieć o wykonaniu się poleceń cmd l i cmdl,jeŜeli zostało wydane
następujące zlecenie: cmd l && cmd 2
a) polecenie cmd 1 wykona się warunkowo w przypadku powodzenia polecenia cmd l,
b) zawsze wykonają się oba polecenia,
c) polecenie cmd 2 wykona się warunkowo w przypadku poraŜki polecenia cmd l,
d) polecenia cmdl i cmdl wykonają się "potokowo".
4. Polecenie for var ; do ... jako lisie napisów dla zmiennej var domniema:
a) nazwy plików w bieŜącym katalogu,
b) nazwy zmiennych środowiskowych,
c) wartości parametrów pozycyjnych S l, S2, etc.,
d) opuszczenie listy napisów nie jest dozwolone w tym poleceniu.
5. Polecenie xargs zaleŜnie od sposobu wywołania słuŜy do:
a) odczytanie parametrów wywołania skryptu,
b) odczytania opcji przekazanych przy uruchomieniu skryptu,
c) wywołania określonego polecenia z parametrami odczytanymi ze standardowego wejścia,
d) powtórzenia określonego polecenia dla kaŜdego parametru odczytanego ze standardowego
wejścia
6. Zakładając rozmiar 512 bajtów dla bloku dyskowego i 4 bajtowy numer
bloku, maksymalną długość pliku o blokach adresowanych bezpośrednio (10) i
przy pomocy jednego bloku pośredniego wynosi:
a) 133kB, b) 37kB, c) 70kB,
d)69kB
7. JeŜeli właściciel pliku raport.txt moŜe go czytać i zapisywać, grupa czytać,
zaś wszyscy pozostali nie mają dostępu do tego pliku to ósemkowy zapis praw
do tego pliku ma postać:
a) 640, b) 620,
c) 046,
d) 750
8. Funkcja systemowa exec:
a) uruchamia polecenie systemowe o podanej nazwie
b) tworzy nowy proces na podstawie pliku wykonywalnego o podanej nazwie
c) nie tworzy nowego procesu, tylko zmienia kontekst uŜytkownika nowego procesu
(segmenty kodu, danych i stosu)
d) jeŜeli ustawiony jest bit SetUID w pliku binarnym to po pozytywnym załadowaniu
nowego kodu zmienia efektywny identyfikator uŜytkownika na UID właściciela pliku
9. W i-weźle zapisana jest
a) nazwa pliku
b) liczba dowiązań do pliku,
c) informacja o tym czy plik jest tekstowy czy binarny,
d) identyfikator UID i GID twórcy pliku.
10. Co moŜna powiedzieć o poniŜszym programie:
#include <stdio.h>
#include <signal.h>
void foo (int a) {}
void main (void) {
signel (SIGINT, foo ); alarm (4);
pause (); puts („Obudziłem się...”); }
a) proces po 4 sekundach wypisze komunikat "Obudziłem się"
b) program jest niepoprawny, gdyŜ nie podano argumentu funkcji pause()
c) proces zostanie awaryjnie przerwany po upływie 4 sekund na skutek nieprzechwyconego
sygnały SIGALRM
d) poniewaŜ funkcja pause() czeka na dowolny sygnał wiec naciśnięcie klawisza ^C przed
upływem 4 sekund powinno wymusić wypisanie napisu "Obudziłem się" (sygnał SIGINT
został przechwycony)
11. Polecenie KILL -<sig> <pid> .............
a) powoduje zawsze przerwanie wykonania procesu o identyfikatorze <pid> niezaleŜnie od
wartości <sig>
b) jeŜeli <pid> ma wartość ujemną róŜną od –1 przesyła sygnał <sig> do grupy procesów o
identyfikatorze przywódcy równym wartości bezwzględnej parametru <pid>
c) jeŜeli parametr <sig> jest opuszczony przesyła sygnał SIGKILL do wskazanego procesu
(parametrem <pid>)
d) jeŜeli parametr <sig> jest opuszczony przesyła sygnał SIGTERM do wskazanego procesu
(parametrem <pid>)
12. Które z poniŜszych sformułowań jest prawdziwe: stan zombie
a) jest ostatnim stanem procesu po wyjściu z którego proces przestaje isnieć
b) proces w stanie zombie moŜe zostać usunięty po przesyłaniu do niego sygnał SIGKILL
c) proces w stanie zombie zajmuje wszystkie przydzielone mu wcześniej zasoby systemowe
d) proces przechodzi do stanu zombi po wykonaniu funkcji exit
13. Na podstawie poniŜszego działania polecenia ps –l moŜna powiedzieć
a) proces 21877 został ukończony, gdyŜ oznaczenie T to pierwsza litera słowa terminated,
b) (?) proces 17231 znajduje się w stanie "uśpiony" i oczekuje ni zdarzenie o deskryptorze
określonym w kolumnie WCHAN.
c) (?) wykonanie polecenia kill -9 21215 spowoduje zakończenie procesu oznaczonego jako
<defunc>,
d) powyŜsze zdanie jest nieprawdziwe, zamierzony efekt osiągniemy wykonując polecenie
kil! -9 22214.
14. Wyświetlenie zawartości plikiuekstowego o nazwie dane . txt uzyskamy
jako rezultat wykonania polecenia:
a) cat >dane.txt b)more dane.txt c) more <dane.txt
d) cat <dane.txt
15. Dane jest nastpująca lista plików: aLLc a.c a.cc bc bZc. Które pliki zostaną
usunięte w wyniku wykonania polecenia: rm a.*c b?c
a) aLLc i bZc,
b) a.c i bc
c) a.cc i bZc
d) aLLc i bc
16. Jakie warunki muszą być spełnione, aby właściciel mógł uruchomić swój
skrypt shell’owy:
a) musi mieć tylko prawo odczytu pliku,
b) prawo odczytu nie jest wystarczające, potrzeba dodatkowo prawa do jego wykonania,
c) prawo do wykonania jest wystarczające,
d) wystarczy prawo do odczytu, ale tylko wówczas, gdy skrypt wykonujemy w bieŜącym
shell’u przy pomocy polecenia kropka (.)
17. Które z poniŜszych poleceń dokonają zamiany cyfr 0. l, 2 odpowiednio na litery F. T,
N
a) tr [0-2] FTN;
c)sed ‘y/012/FTN/’
b) awk 'y/[0-2]/FTN/';
d) sed ‘s/[0-2]/FTN/g’
18. Który z poniŜszych wzorców dla polecenia grep dopasuje się do pustego
wiersza (nie zawierającego Ŝadnych białych znaków)
a) ^$; b) [[:blank:]]; c)^[[:blank:]]*$; d) ^[[:blank:]]$
19. Które z poniŜszych stwierdzeń jest niepoprawne odnośnie funkcji w
skrypcie shell’owym:
a) parametry wywołania są przekazywane do funkcji przy pomocy zmiennych pozycyjnych
$1, $2, $3,etc.,
b) funkcje wywołujemy podając jej nazwę zaś w nawiasach okrągłych parametry wywołania,
np. foo ( "Ala", 12 )
c) nie moŜna przypisać wprost wartości parametrowi pozycyjnemu, gdyŜ przykładowo
przypisanie l ""Ala" jest niepoprawne składniowo,
d) stwierdzenie c) jest poprawne, ale korzystając z polecenia set moŜna przypisać dowolnej
liczbie parametrów Ŝądane wartości,
20. Proces utworzony poleceniem: db2 <wsad.outs &
a) nie będzie posiadał terminala sterującego, zatem próba zapisu przez niego czegokolwiek
na standardowe wyjście spowoduje zatrzymanie procesu na skutek sygnału SIGTTOU.
b) proces zostanie uruchomiony w tle, tzn. shell nic będzie oczekiwał na jego zakończenie,
c) wyniki działania procesu zostaną zapisane do pliku wsad .out,
d) po wylogowaniu się proces uŜytkownika nie zostanie przerwany gdyŜ pracuje "w tle".