Unix et Programmation Shell
juin
Vous r´ epondrez aux questions en utilisant deux lignes en moyenne.
Q 1. Donner une commande pour compter les lignes vides du fichier
foo?
Q 2. Que d´ ecrit la section 1 du manuel
unix.Q 3. Le chercheur McIlroy a invent´ e un concept fondamental du syst` eme
unix. Lequel ?Q 4. Que signifie l’acronyme CLI ? Q 5. Commenter.
$> PS1=”$PS1$PS1$PS1$PS1”
$> $> $> $>
Q 6. Quel est le r´ esultat de la commande
$> e c h o { 0 , 1 } { 0 , 1} { 0 , 1 }
Q 7. Donner un exemple d’appel syst` eme im- pliqu´ e dans une redirection.
Q 8. Donner un exemple d’appel syst` eme im- pliqu´ e dans un pipeline.
Q 9. Quelle est la particularit´ e du binaire
/bin/passwd?
Q 10. La commande qui suit affiche une liste de fichiers dont
/etc/resolv.conf. Pourquoi ?$> g r e p −lE ’ ( [ 0 − 9 ] { 1 , 3 } \ . ) { 3 } [ 0 − 9 ]{ 1 , 3 } ’ / e t c /∗
Q 11. Quelle diff´ erence entre
fcloseet
close? Q 12.
$> s t a t −−f o r m a t=’%n %A’ /tmp/ f o o /tmp/ f o o dr−xr−xr−x
$> rm /tmp/ f o o / ba r
rm : i m p o s s i b l e de s u p p r i m e r /tmp/ f o o / bar :
P e r m i s s i o n non a c c o r d e e Comment effacer le fichier ?
Q 13. Deviner le r´ esultat de la commande :
$> f i n d / b i n −e x e c u t a b l e −name ’ p ? ’ Q 14. Quelle est l’utilit´ e de la commande
wget? Q 15. Que fait le script
1 #!/bin/bash
2
sum=0
3 while
[ $#
−gt 0 ] ; do4
let sum+=$1
5 shift
6 done
7 echo
$sum
Q 16. Que fait la commande :
$> f i n d −name ’ ∗ ’ −e x e c l s {} \ ; Q 17. Quelle est l’utilit´ e de la variable
PATH? Q 18. Deviner le r´ esultat de la commande
$> l s / | head −5
Q 19. La commande
sshpermet d’ouvrir un shell sur un hˆ ote distant. Que signifie l’acronyme SSH ?
Q 20. Expliquer
$> e c h o −−h e l p
−−h e l p
$> e n a b l e −n e c h o
$> e c h o −−h e l p
U t i l i s a t i o n : e c h o [SHORT − OPTION ] . . . [ STRING ] . . .
. . .
Q 21. Quel est le r´ esultat de
$> e c h o { 0 . . 9 } \
| awk ’ { p r i n t $ 3 $ 1$ 2 $ 6 } ’ Q 22. Que fait la commande
$> s e d −i r E ’ s / ˆ [ ] + / / ’ f i c h i e r
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 2325 a t t a c h e d
7 [ p i d 2 3 2 4 ] c l o n e ( P r o c e s s 2326 a t t a c h e d
8 [ p i d 2 3 2 4 ] c l o n e ( P r o c e s s 2327 a t t a c h e d
9 [ p i d 2 3 2 7 ] dup2 ( 4 , 0 ) = 0
10 [ p i d 2 3 2 6 ] dup2 ( 3 , 0 ) = 0
11 [ p i d 2 3 2 6 ] dup2 ( 5 , 1 ) = 1
12 [ p i d 2 3 2 7 ] open ( ” / tmp/ c o u n t ” , O WRONLY|O CREAT|O TRUNC|O LARGEFILE , 066
13 [ p i d 2 3 2 7 ] dup2 ( 3 , 1 ) = 1
14 [ p i d 2 3 2 7 ] e x e c v e ( ” / u s r / b i n /wc ” , [ ” wc ” , ”−c ” ] , [ /∗ 52 v a r s ∗/ ] ) = 0
15 [ p i d 2 3 2 5 ] dup2 ( 4 , 1 ) = 1
16 [ p i d 2 3 2 6 ] e x e c v e ( ” / b i n / c a t ” , [ ” c a t ” ] , [ /∗ 52 v a r s ∗/ ] ) = 0
17 [ p i d 2 3 2 5 ] e x e c v e ( ” / b i n / e c h o ” , [ ” / b i n / e c h o ” , ” h e l l o ” , ” w o r l d ” ] , [ /∗ 52
18 [ p i d 2 3 2 7 ] open ( ” / e t c / l d . s o . c a c h e ” , O RDONLY) = 3
19 [ p i d 2 3 2 6 ] open ( ” / e t c / l d . s o . c a c h e ” , O RDONLY) = 3
20 [ p i d 2 3 2 5 ] open ( ” / e t c / l d . s o . c a c h e ” , O RDONLY) = 3
21 [ p i d 2 3 2 5 ] <. . . open resumed> ) = 3
22 [ p i d 2 3 2 6 ] r e a d ( 0 , <u n f i n i s h e d . . .>
23 [ p i d 2 3 2 7 ] <. . . open resumed> ) = 3
24 [ p i d 2 3 2 7 ] 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
25 [ p i d 2 3 2 5 ] w r i t e ( 1 , ” h e l l o w o r l d\n ” , 12 <u n f i n i s h e d . . .>
26 [ p i d 2 3 2 7 ] r e a d ( 3 , <u n f i n i s h e d . . .>
27 [ p i d 2 3 2 5 ] <. . . w r i t e resumed> ) = 12
28 [ p i d 2 3 2 6 ] <. . . r e a d resumed> ” h e l l o w o r l d\n ” , 3 2 7 6 8 ) = 12
29 [ p i d 2 3 2 6 ] w r i t e ( 1 , ” h e l l o w o r l d\n ” , 1 2 ) = 12
30 [ p i d 2 3 2 6 ] r e a d ( 0 , ” ” , 3 2 7 6 8 ) = 0
31 [ p i d 2 3 2 7 ] <. . . r e a d resumed> ” ” , 4 0 9 6 ) = 0
32 [ p i d 2 3 2 7 ] r e a d ( 0 , ” h e l l o w o r l d\n ” , 1 6 3 8 4 ) = 12
33 [ p i d 2 3 2 7 ] r e a d ( 0 , ” ” , 1 6 3 8 4 ) = 0
34 [ p i d 2 3 2 7 ] w r i t e ( 1 , ”12\n ” , 3 ) = 3
35−−− {s i s i g n o=SIGCHLD, s i c o d e=CLD EXITED , s i p i d =2326 , s i s t a t u s =0 , s i
Fig.