Unix et Programmation Shell
janvier
Vous r´epondrez aux questions en utilisant deux lignes en moyenne.
Q 1. Commenter
$ e c h o {a . . h} {1 . . 8} | wc −w 64
Q 2. Citer trois param`etres sp´eciaux correspon- dant `a l’expression r´eguli`ere : \$[^1-9]
Q 3. Citer 5 sections du manuelunix.
Q 4. Citer deux pionniers du syst`eme unix.
Q 5. Que signifie GUI ?
Q 6. Citer 5 types de fichiers pr´esents dans un syst`eme de fichier.
Q 7. D´ecrire deux m´ecanismes fondamentaux du syst`eme UNIX.
Q 8. Donner un exemple de binairesuid? Q 9. Commenter.
$ t o u c h x xy xyz
$ f i n d . −name x∗
f i n d : l e s chemins d o i v e n t p r e c e d e r l
’ e x p r e s s i o n : xy
Q 10. Quelle diff´erence entrefopen etopen? Q 11. Commenter
$ f i n d / b i n −name ’ s∗’ −t y p e l / b i n / sh
Q 12. Que donne
f i n d / e t c −perm 000
Q 13. Citer trois commandes externes homo- nymes d’une commande interne.
Q 14. Que fait la commande :
$ f i n d −name ’∗’ | x a r g s rm −f
Q 15. Expliquer
$ t o u c h l s
$ PATH=.
$ l s
bash : . / l s : P e r m i s s i o n non a c c o r d e e Q 16. Expliquer
$ u n a l i a s x
Q 17. Ecrire un script tri.sh pour trier les arguments de la ligne de commande en mode num´erique.
Q 18. Proposer une explication
$ f i n d −name x∗
. / x . l o g
$ t o u c h xxx
$ f i n d −name x∗ 2>/dev / n u l l ;
$ e c h o $ ? 1
Q 19. Quel est le r´esultat de
$ e c h o {1 . . 3} \
| awk −F2 ’{p r i n t $2$1}’
1
1 e x e c v e ( ” / b i n / bash . . .
2 open ( ” / e t c / l d . s o . c a c h e ” , O RDONLY) = 3
3 open ( ” / dev / t t y ” , O RDWR|O NONBLOCK|O LARGEFILE) = 3
4 open ( ” / p r o c / meminfo ” , O RDONLY) = 3
5 r e a d ( 3 , ”MemTotal : 508520 kB\nMemF ” . . . , 1 0 2 4 ) = 1024
6 c l o n e ( P r o c e s s 2261 a t t a c h e d
7 [ p i d 2 2 6 0 ] c l o n e ( P r o c e s s 2262 a t t a c h e d
8 [ p i d 2 2 6 2 ] dup2 ( 3 , 0 ) = 0
9 [ p i d 2 2 6 2 ] open ( ” / tmp/ d s t ” , O WRONLY|O CREAT|O TRUNC|O LARGEFILE , 0 6 6 6 )
10 [ p i d 2 2 6 2 ] dup2 ( 3 , 1 ) = 1
11 [ p i d 2 2 6 2 ] e x e c v e ( ” / u s r / b i n /wc ” , [ ” wc ” , ”−l ” ] , [ /∗ 52 v a r s ∗/ ] <u n f i n i s
12 [ p i d 2 2 6 1 ] dup2 ( 4 , 1 ) = 1
13 [ p i d 2 2 6 1 ] open ( ” / tmp/ s r c ” , O RDONLY|O LARGEFILE) = −1 ENOENT ( No s u c h
14 [ p i d 2 2 6 1 ] r e a d ( 3 , ”# L o c a l e name a l i a s d a t a b a s e .\n # ” . . . , 4 0 9 6 ) = 2512
15 [ p i d 2 2 6 1 ] r e a d ( 3 , ” ” , 4 0 9 6 ) = 0
16 [ p i d 2 2 6 1 ] w r i t e ( 2 , ” bash . . .
17 ) = 52
18 [ p i d 2 2 6 2 ] <. . . e x e c v e resumed> ) = 0
19 [ p i d 2 2 6 2 ] open ( ” / e t c / l d . s o . c a c h e ” , O RDONLY) = 3
20 [ p i d 2 2 6 2 ] r e a d ( 3 , ”# L o c a l e name a l i a s d a t a b a s e .\n # ” . . . , 4 0 9 6 ) = 2512
21 [ p i d 2 2 6 2 ] r e a d ( 3 , ” ” , 4 0 9 6 ) = 0
22 [ p i d 2 2 6 2 ] r e a d ( 0 , ” ” , 1 6 3 8 4 ) = 0
23 [ p i d 2 2 6 2 ] w r i t e ( 1 , ”0\n ” , 2 ) = 2
24−−− {s i s i g n o=SIGCHLD, s i c o d e=CLD EXITED , s i p i d =2261 , s i s t a t u s =1 , s i
Fig. 1 – traces d’une commande.
Q 20. Que fait la commande
$ s e d −i r E ’ s / [ ]+ $ / / ’ f i c h i e r Q 21. Que fait la commande
$ g r e p −vE ’ ˆ $ ’ s r c > d s t Q 22. Que fait la commande
$ g r e p −r l E ’ ( [ 0−9 ] +\. ){3}[0−9]+ ’ \
−−i n c l u d e=r∗.∗f /tmp 2>/dev / n u l l Q 23. Expliquer
$ x=$$ ; w h i l e [ $x != 0 ] ; do ; \ ps −−no−h e a d e r s −p$x −opid , cmd ; \
x=$ ( ps −−no−h e a d e r s −p$x −o p p i d ) ;\ done
2679 / b i n / bash
2678 vim upsh−x−c t−13−1. t e x 2571 bash
2049 gnome−t e r m i n a l 1 / s b i n / i n i t Q 24. Expliquer
$ m k f i f o /tmp/ f i f o
$ t r 123 456 < /tmp/ f i f o &
$ e c h o 1 2 3 4 5 6 > /tmp/ f i f o 4 5 6 4 5 6
Q 25. Le script ci-dessous a ´et´e utilis´e pour obtenir les traces de la figure ( 1).
#!/ b i n / bash
s t r a c e −f f −e t r a c e=open , read , w r i t e , dup2 , c l o n e , e x e c v e \ bash −c ” $∗” |& s e d ’ s / bash .∗/ bash . . . / ’ \
| g r e p −vE ’ ( s h a r e|l i b|s t a c k|ˆ Proc|ELF) ’ | c u t −c1−72 > t r a c e s . t x t – Combien de processus ont ´et´e lanc´es ?
– Quelle commande a ´et´e trac´ee ?
2