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

Transkrypt

1. Polecenie powłoki cat umoŜliwia: a) przeniesienie pliku
1. Polecenie powłoki cat umoŜliwia:
a) przeniesienie pliku tekstowego do katalogu o podanej nazwie,
b) połączenie dwóch lub więcej plików tekstowych w jeden cały,
c) XXwyświetlenie zawartości pliku tekstowego na ekranie terminala,
d) 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) XXgwiazdka (*), 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) XXpolecenia 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) XXś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) XXkatalogiem 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) XXkatalogiem 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) XXjeŜ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)XX $@,
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) XXcat 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)XX 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) XX(?) 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) XXpolecenie 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:
a) prabr i abr.cpp, b) XXabrpr2abr i prN.cpp,
c) .cpp i prZabr,
d) 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) XXprawo 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) XXkatalogi są plikami podobnie jak pliki zwykłe, zawierają nazwę pliku i numer jego i-wę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)XXzero (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) XXnapis 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) XXkaŜ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) XX(?) 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) XXwyprowadzi 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) XX266kB
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) XXpolecenie 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) XXbieŜą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) XXbieŜą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) XXseparatorem pól rekordów będzie pionowa kreska;
c) XXprzypisanie w nawiasie klamrowym zostanie wykonane przed odczytem pierwszego rekordu z pliku;
d) XXseparatorem 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) XXzaró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) XXkaŜ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) XXtr [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) XX"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) XXpolecenie 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) XXzaró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.
8. Funkcja systemowa exec:
a) XXuruchamia polecenie systemowe o podanej nazwie
b) tworzy nowy proces na podstawie pliku wykonywalnego o podanej nazwie
c) XXnie 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) XXliczba dowiązań do pliku,
c) informacja o tym czy plik jest tekstowy czy binarny,
d) XXidentyfikator 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) XXproces zostanie awaryjnie przerwany po upływie 4 sekund na skutek nieprzechwyconego sygnały
SIGALRM
d) XXponiewaŜ 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) XXjeŜ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) XXjeŜ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) XXproces 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) XX(?) proces 17231 znajduje się w stanie "uśpiony" i oczekuje ni zdarzenie o deskryptorze określonym w
kolumnie WCHAN.
c) XX(?) 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)XXmore dane.txt
c)XX more <dane.txt
d) XXcat <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) XXa.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) XXmusi 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) XXtr [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)XX ^$; 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) XXfunkcje 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) XXnie 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) XXproces 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,
e) XXpo wylogowaniu się proces uŜytkownika nie zostanie przerwany gdyŜ pracuje
1. 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) XXwartości parametrów pozycyjnych $1, $2, etc.,
d) opuszczenie listy napisów nie jest dozwolone w tym poleceniu.
2. Co moŜna powiedzieć o wykonaniu się poleceń cmd1 i cmd2, jeŜeli zostało wydane polecenie
a) XX(?) 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".
3. 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)
4.
a)
b)
c)
XXwszystkie znaki po znaku # aŜ do końca wiersza.
Które z poniŜszych sformułowań nie jest prawdziwe:
proces w trakcie realizacji funkcji systemowej moŜe zostać uśpiony,
kod własny procesu wykonuje się w stanie "wykonywany w trybie uŜytkownika',
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".
5. 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) XXjego domyślna obsługa to zakończenie wykonywania procesu.
6. Które z poniŜszych sformułowań jest prawdziwe: stan zombie
a) XXjest 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.
7. 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) XX(?) 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.
8. Które z poniŜszych poleceń dokonają zmiany cyfr 0, 1, 2, odpowiednio na litery F, T, N.
a)XX tr [0-2] FTN,
c) sed 's / [0-2]/ FTN/g',
b) sed ' y/ [0-2]/FTN/',
d) sed 'y/0 1 2/FT N /',
9. 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)
10. 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 {} \;)
11. 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) XX644,
c) 755,
d) 277.
12. 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) XXbieŜący proces zostanie zatrzymany, zaś tylko wydanie polecenia fg moŜe wznowić jego wykonanie.
1.
a)
b)
c)
d)
Po wywołaniu funkcji fork:
XXnowy 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) XXw 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) XXtylko 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) XXpolecenie 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.
a)
JeŜeli prawa dostępu do pliku skrypt prog. sh moŜna zapisać ósemkowo w następujący sposób - 157, to:
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) XXdowolny uŜytkownik, który nie naleŜy do grupy właściciela, moŜe skutecznie zmodyfikować zawartość skryptu.
d) XXponiewaŜ 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
XXrodzicielskiego.
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) XX(?) 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) XX(?) prabr i abr.cpp, b)XX (?) 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) XXuruchamia polecenie systemowe o podanej nazwie,
b) tworzy nowy proces na podstawie pliku wykonywanego o podanej nazwie
c) XXnie 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) XXproces 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. 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)XX libdf.s1 i libc0.so
21. liczbę parametrów pozycyjnych zapisana jest w zmiennej specjalnej
a) $#, b) $?, c) $@, d) $%,
22. Zmienną środowiskową jest:
a) XXkaŜda zmienna zdefiniowana poleceniem typu var=value (np. var=12)
b) XXzmienna 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,
23. 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) XX–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
24. jakie warunki muszą być spełnione aby właściciel mógł uruchomić swój skrypt shell’owy:
a) XXmusi mieć 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 bierzącym shell’u przy pomocy
polecenia kropka (.)
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) XXwartoś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) XXwywołania określonego polecenia z parametrami odczytanymi ze standardowego wejścia,
d) XXpowtó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)XX69kB
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)XX 640, b) 620,
c) 046,
d) 750
8. Funkcja systemowa exec:
e) XXuruchamia polecenie systemowe o podanej nazwie
f) tworzy nowy proces na podstawie pliku wykonywalnego o podanej nazwie
g) XXnie tworzy nowego procesu, tylko zmienia kontekst uŜytkownika nowego procesu (segmenty kodu,
danych i stosu)
h) 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
e) nazwa pliku
f) XXliczba dowiązań do pliku,
g) informacja o tym czy plik jest tekstowy czy binarny,
h) XXidentyfikator 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ę...”); }
e) proces po 4 sekundach wypisze komunikat "Obudziłem się"
f) program jest niepoprawny, gdyŜ nie podano argumentu funkcji pause()
g) XXproces zostanie awaryjnie przerwany po upływie 4 sekund na skutek nieprzechwyconego sygnały
SIGALRM
h) XXponiewaŜ 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> .............
e) powoduje zawsze przerwanie wykonania procesu o identyfikatorze <pid> niezaleŜnie od wartości <sig>
f) XXjeŜ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>
g) jeŜeli parametr <sig> jest opuszczony przesyła sygnał SIGKILL do wskazanego procesu (parametrem
<pid>)
h) XXjeŜ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
e) jest ostatnim stanem procesu po wyjściu z którego proces przestaje isnieć
f) proces w stanie zombie moŜe zostać usunięty po przesyłaniu do niego sygnał SIGKILL
g) proces w stanie zombie zajmuje wszystkie przydzielone mu wcześniej zasoby systemowe
h) XXproces przechodzi do stanu zombi po wykonaniu funkcji exit
13. Na podstawie poniŜszego działania polecenia ps –l moŜna powiedzieć
e) proces 21877 został ukończony, gdyŜ oznaczenie T to pierwsza litera słowa terminated,
f) (?) proces 17231 znajduje się w stanie "uśpiony" i oczekuje ni zdarzenie o deskryptorze określonym w
kolumnie WCHAN.
g) (?) wykonanie polecenia kill -9 21215 spowoduje zakończenie procesu oznaczonego jako <defunc>,
h) 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
e) aLLc i bZc,
f) a.c i bc
g) a.cc i bZc
h) aLLc i bc
16. Jakie warunki muszą być spełnione, aby właściciel mógł uruchomić swój skrypt shell’owy:
e) XXmusi mieć tylko prawo odczytu pliku,
f) prawo odczytu nie jest wystarczające, potrzeba dodatkowo prawa do jego wykonania,
g) prawo do wykonania jest wystarczające,
h) wystarczy prawo do odczytu, ale tylko wówczas, gdy skrypt wykonujemy w bieŜącym shell’u przy pomocy
polecenia kropka (.)