of 282
8/4/2019 Introduction Unix et la programmation Shell
1/282
I n t r o d u c t i o n U n i x e t l a p r o g r a m m a t i o n
S h e l l
S y l v a i n B a u d r y
E S M E - S u d r i a
1
D p a r t e m e n t I n f o r m a t i q u e
3 8 r u e M o l i r e 9 4 2 0 0 I v r y s u r S e i n e
V e r s i o n 4 . 0 . 1
S e p t e m b r e 2 0 0 7
1 . T l : + 3 3 ( 0 ) 5 6 2 0 6 2 0 0
8/4/2019 Introduction Unix et la programmation Shell
2/282
P F B a u d r y D R F H F I
8/4/2019 Introduction Unix et la programmation Shell
3/282
P r f a c e
v 9 n m l d d o m n l l p a c k a g e v
A
i
P F
i
n m d o d l 9 A m e r i c a n M a t h e m a t i c a l S o c i e t y F
U n i x n m d o d 9 U n i x S y s t e m L a b o r a t o r i e s F
P o s t S c r i p t n m d o d 9 A d o b e C o r p .
M S - D O S D W i n d o w s W i n d o w s N T o n d m d o d M i c r o -
s o f t C o r p .
M a c i n t o s h M a c O S o n d m d o d 9 A p p l e C o m p u t e r F
V T D V a x D V a x / V m s D y n V m s D i g i t a l U n i x o n d m d o E
d D i g i t a l E q u i p m e n t C o r p .
H P U X n m d o d H e w l e t t - P a c k a r d F
S u n O S S o l a r i s o n d m d o d S u n M i c r o s y s t e m s F
N F S D N I S N I S + o n d m d o d S u n M i c r o s y s t e m s F
I r i x n m d o d S i l i c o n G r a p h i c s I n c .
A I X D S N A R S / 6 0 0 0 o n d m d o d I n t e r n a t i o n a l B u s i -
n e s s M a c h i n e F
N e t s c a p e N a v i g a t o r n m d o d N e t s c a p e C o r p .
F B a u d r y D R F H F I
8/4/2019 Introduction Unix et la programmation Shell
4/282
8/4/2019 Introduction Unix et la programmation Shell
5/282
l d m
T a b l e d e s m a t i r e s
I I n t r o d u c t i o n U n i x
1
1 C o n c e p t s d e b a s e s o u s U n i x 3
I F I x o o n n l F F F F F F F F F F F F F F F F F F F F F F F F F F F Q
I F P g o n n o n d o n n o n F F F F F F F F F F F F F F F F F F F F F F S
I F Q p o m d 9 n o m m n d F F F F F F F F F F F F F F F F F F F F F F F T
I F R v m n l U n i x F F F F F F F F F F F F F F F F F F F F F F F F F F F U
I F R F I s n o d o n D l o n F F F F F F F F F F F F F F F F F F U
I F R F P p o m d 9 n d m n l F F F F F F F F F F F F F F F F U
I F R F Q v o m m n d m n F F F F F F F F F F F F F F F F F F F F F F V
I F R F Q F I i l n F F F F F F F F F F F F F F F F F F F F W
I F S s n o d o n l n o o n d l e s y s t e m F F F F F F F F F F F F F F F W
I F S F I o n F F F F F F F F F F F F F F F F F F F F W
I F S F P v m n d 9 F F F F F F F F F F F F F F F F F F F F F I H
I F S F Q n o U n i x F F F F F F F F F F F F F F F F F I I
I F T v n G o F F F F F F F F F F F F F F F F F F F F F F F F F F I P
I F U v ( l F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F I Q
2 C o m m a n d e s U n i x 1 5
P F I g o m m n d l ( l m F F F F F F F F F F F F F F F F F F F I S
P F I F I g o m m n d F F F F F F F F F F F F F F F F F F F F I S
P F I F P g o m m n d l F F F F F F F F F F F F F F F F F F F F F F F F I S
P F I F Q g o m m n d m k m F F F F F F F F F F F F F F F F F I U
P F I F R o 4 F 4 4 F F 4 F F F F F F F F F F F F F F F F F F F I U
P F P g o m m n d d m n l o n d ( F F F F F F F F F F F F F F I V
F B a u d r y D R F H F I
8/4/2019 Introduction Unix et la programmation Shell
6/282
l d m
P F P F I e d 9 n ( F F F F F F F F F F F F F F F F F F F F F I V
P F P F P e 0 d o n n d 9 n ( E g o m m n d m o I W
P F P F Q w n l o n d ( E g o m m n d D m l n F F F F I W
P F P F Q F I l o n d n o m d l n l o m E
m n d l F F F F F F F F F F F F F F F F F F F F F F P I
P F P F R i ' m n d 9 n ( E g o m m n d m F F F F F F F F F F P P
P F Q o o n l ( F F F F F F F F F F F F F F F F F F F F F F P Q
P F Q F I x o o n d 9 d n o U n i x F F F F F F F F F F F F F F F F F P Q
P F Q F P m o n F F F F F F F F F F F F F F F F F F F F F F F F F F P R
P F Q F Q g n m n d o o n E g o m m n d m o F F F F F F P S
P F Q F R m l o o n F F F F F F F F F F F F F F F F P U
P F R v ( l F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F P V
P F R F I l D o F F F F F F F F F F F F F F F F F F F F F P V
P F R F P p l d j F F F F F F F F F F F F F F F F F F F F F F F F P V
P F R F Q p l o F F F F F F F F F F F F F F F F F F F F F F F F F F P W
P F R F R p l F F F F F F F F F F F F F F F F F F F F F F F F F F P W
P F R F S p l F F F F F F F F F F F F F F F F F F F F F F F F F F F F Q H
P F R F T p l F F F F F F F F F F F F F F F F F F F F F F F F F F F Q H
3 C o m m a n d e s u s u e l l e s d e c o m m u n i c a t i o n r s e a u 3 3
Q F I g o n n o n n m n ! o m m n d l n F F F F F F F Q Q
Q F P n d ( E o m m n d F F F F F F F F F F F F F F F F Q R
Q F Q g o n n o n o m ! o m m n d l o n F F F F F F F F F F F Q U
Q F R n d ( o m ! o m m n d F F F F F F F F Q V
Q F S i o n d 9 n o m m n d d n E o m m n d @ o m A R H
Q F S F I g o m o n l n G l o n G F F F F R I
I I I n t r o d u c t i o n a u s h e l l 4 3
1 N o t i o n s l m e n t a i r e s d u B o u r n e S h e l l 4 5
I F I s n o d o n F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F R S
I F P o n m m o o d D l l o l D l d 9 n o n n m n
d l l F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F R T
I F P F I h o n F F F F F F F F F F F F F F F F F F F F F F F F F F R T
F B a u d r y D R F H F I
8/4/2019 Introduction Unix et la programmation Shell
7/282
l d m
I F P F P v o m m n d d o n d l d l l F F F F F R V
I F P F Q l l l F F F F F F F F F F F F F F F F F F F F F F F R V
I F P F R l o n d 9 n l F F F F F F F F F F F F F F F F F R W
I F Q i o n d 9 n o m m n d F F F F F F F F F F F F F F F F F F F F F R W
I F R d o n d n G o F F F F F F F F F F F F F F F F F F F R W
I F R F I s n o d o n F F F F F F F F F F F F F F F F F F F F F F F F F R W
I F R F P d o n d l 9 n n d d @ d n A F F F F F F F F S H
I F R F Q d o n d l o n d d @ d o A F F F F F F F S H
I F R F R d o n d l o d 9 n d d @ d A F F S H
I F R F S d o n d 9 n o n d d n o
n d d F F F F F F F F F F F F F F F F F F F F F F F F F F F F S I
I F R F T d o n d l o n d d d 9 n o m m n d d n
l 9 n n d d d 9 n F F F F F F F F F F F F F F F F S Q
I F S q n o n d n o m d ( E v m F F F F F F F S R
I F S F I s n o d o n F F F F F F F F F F F F F F F F F F F F F F F F F S R
I F S F P l o n d m 4 c 4 F F F F F F F F F F F F F S R
I F S F Q l o n d m 4 4 F F F F F F F F F F F S S
I F S F R l o n d m 4 B 4 F F F F F F F F F F F F S S
I F T v o l F F F F F F F F F F F F F F F F S S
I F T F I s n o d o n F F F F F F F F F F F F F F F F F F F F F F F F F S S
I F T F P v d 9 m n F F F F F F F F F F F F F F F S T
I F T F Q m F F F F F F F F F F F F F F F F F F F F F F F F F F F F S T
2 L e m o d e m u l t i - t c h e 5 9
P F I d o n d ! l b a c k g r o u n d F F F F F F F F F F F F F F F F F F F S W
P F P o n d o m m n d E b a c k q u o t e F F F F F F F F F T H
P F Q g o m m n d o F F F F F F F F F F F F F F F F F F F F F F F F T H
P F Q F I g o m m n d 4 k l l 4 F F F F F F F F F F F F F F F F F F F F F F T H
P F Q F P g o m m n d 4 4 F F F F F F F F F F F F F F F F F F F F F F T I
P F Q F Q v o m m n d 4 4 4 4 F F F F F F F F F F F F F F F F T I
P F Q F R g o m m n d 4 4 F F F F F F F F F F F F F F F F F F F F F F F T P
P F R o n d X o n F F F F F F F F F F F F F F F F F F F T S
P F R F I s n o d o n ! n F F F F F F F F F F F F F F F F F F F T S
P F R F P p d d o n d F F F F F F F F F F F F F F F T T
F B a u d r y D R F H F I
8/4/2019 Introduction Unix et la programmation Shell
8/282
l d m
P F R F Q i m l d ( d d o n F F F F F F F F F F F F F F T W
I I I I n t r o d u c t i o n l a p r o g r a m m a t i o n B o u r n e S h e l l 7 1
1 I n t r o d u c t i o n 7 3
I F I h ( n o n F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F U Q
I F P r o d l l F F F F F F F F F F F F F F F F F F F F F F F F F U Q
I F Q l l o m m n d o n o l 9 d l l E
F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F U S
I F Q F I l o F F F F F F F F F F F F F F F F F F F F F F F U S
I F Q F P o m m n d o n F F F F F F F F F F F F F F F F F F F F F F U T
2 L e s a r g u m e n t s d e s p r o g r a m m e s s h e l l 7 9
3 L e s v a r i a b l e s 8 1
Q F I v l l F F F F F F F F F F F F F F F F F F F F F F F F V I
Q F P w n l o n l l F F F F F F F F F F F F F F F F F F F F V P
4 C o m m a n d e s v o l u e s p o u r l e s s c r i p t s 8 5
R F I v o m m n d 4 4 F F F F F F F F F F F F F F F F F F F F F F F V S
R F P v o m m n d 4 d 4 F F F F F F F F F F F F F F F F F F F F F F F V S
R F Q v o m m n d 4 4 F F F F F F F F F F F F F F F F F F F F F F F V T
5 L e s l i s t e s d e c o m m a n d e s e t l e s f o n c t i o n s 8 9
S F I v l d o m m n d F F F F F F F F F F F F F F F F F F F F F F F V W
S F P v o n o n F F F F F F F F F F F F F F F F F F F F F F F F F F F F F W H
S F P F I h l o n l o n d o n o n F F F F F F F F F F F W H
S F P F P g o m m n d 4 n 4 F F F F F F F F F F F F F F F F F F F W P
6 L e s c o m m e n t a i r e s e t l e s t e c h n i q u e s d ' e x c u t i o n 9 3
T F I v o m m n F F F F F F F F F F F F F F F F F F F F F F F F F F F W Q
T F P s n o n l d n 4 5 4 l m l n d 9 n
l l F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F W Q
T F P F I v l d 9 n l l n d l l n d o m E
m n d F F F F F F F F F F F F F F F F F F F F F F F F F F F F W R
F B a u d r y D R F H F I
8/4/2019 Introduction Unix et la programmation Shell
9/282
l d m
7 L e s t e s t s e t l e s b o u c l e s 9 7
U F I v F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F W U
U F I F I v o m m n d F F F F F F F F F F F F F F F F F F W U
U F I F P l ( F F F F F F F F F F F F F F F F F F F F F W U
U F I F Q l n d F F F F F F F F F F F F F W V
U F I F R v n m F F F F F F F F F F F F F F F F F F F F F W W
U F I F S e o o n F F F F F F F F F F F F F F F F F F F F F F F W W
U F P v o n o n F F F F F F F F F F F F F F F F F F F F F F F W W
U F Q v o n o n F F F F F F F F F F F F F F F F F F F F F I H H
U F R v o l l F F F F F F F F F F F F F F F F F F F F F F F F I H I
U F S v o l n l F F F F F F F F F F F F F F F F F F F F F F F F I H I
U F T v o l o F F F F F F F F F F F F F F F F F F F F F F F F F I H I
U F U v o m m n d k D o n n F F F I H P
U F V n F F F F F F F F F F F F F F F F F F F F F F F F F F F I H Q
U F V F I h ( n o n d n d F F F F F F F F F F F F F I H Q
U F V F I F I v n F F F F F F F F F F F F F F F F F F F F F I H Q
U F V F I F P v t r a p s F F F F F F F F F F F F F F F F F F F F F F I H Q
U F V F I F Q v o m m n d F F F F F F F F F F F F I H R
8 L e s e x p r e s s i o n s r g u l i r e s 1 0 5
V F I s n o d o n E h ( n o n F F F F F F F F F F F F F F F F F F F F F F F I H S
V F P ( o n d l F F F F F F F F F F F F F F F I H S
V F Q i m l d 9 l o n F F F F F F F F F F F F F F F F F F F F F F F F I H T
V F R d n n n o m d 9 o n F F F F I H T
9 U t i l i s a t i o n a v a n c e s d e c e r t a i n s l t r e s 1 0 9
W F I s n o d o n F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F I H W
W F P l o n n d 4 4 D 4 4 4 4 F F F F F F F F I H W
W F P F I s n o d o n E l F F F F F F F F F F F F F F F F F F F F I H W
W F P F P l o n d 4 4 F F F F F F F F F F F F F F F F F F F F I I H
W F Q l o n d 4 4 F F F F F F F F F F F F F F F F F F F F F F F F I I I
W F R l o n d 4 4 F F F F F F F F F F F F F F F F F F F F F F F F I I P
W F S m l 9 l o n d l 9 o o n 4 E 4 F F F F F F F F F F F F I I Q
F B a u d r y D R F H F I
8/4/2019 Introduction Unix et la programmation Shell
10/282
l d m
1 0 U t i l i s a t i o n d e " " 1 1 5
I H F I s n o d o n F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F I I S
I H F P w o d d o n o n n m n F F F F F F F F F F F F F F F F F F F F F F F I I T
I H F Q p o m l o n d F F F F F F F F F F F F F F F F F F F F F F F I I T
I H F Q F I s n o d o n F F F F F F F F F F F F F F F F F F F F F F F F F I I T
I H F Q F P h ( n o n d d F F F F F F F F F F F F F F F F F F F F I I T
I H F Q F Q v g o m m n d F F F F F F F F F F F F F F F F F F F F F F F I I U
I H F Q F R v m o l l F F F F F F F F F F F F F F F F F F I I W
I H F R i m l n F F F F F F F F F F F F F F F F F F F F F F F F F F F I P I
I H F R F I i m l I F F F F F F F F F F F F F F F F F F F F F F F F F F F I P I
I H F R F P i m l P F F F F F F F F F F F F F F F F F F F F F F F F F F F I P Q
I H F R F Q i m l Q F F F F F F F F F F F F F F F F F F F F F F F F F F F I P R
I H F R F R i m l R F F F F F F F F F F F F F F F F F F F F F F F F F F F I P T
I H F R F S i m l S F F F F F F F F F F F F F F F F F F F F F F F F F F F I P V
I H F S m l 9 l o n d l 9 o o n 4 E 4 F F F F F F F F F F F F I P W
1 1 U t i l i s a t i o n d e " k " 1 3 1
I I F I s n o d o n F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F I Q I
I I F P v l F F F F F F F F F F F F F F F F F F F F F F F F F F F F F I Q P
I I F P F I s n o d o n D h ( n o n F F F F F F F F F F F F F F F F F F F I Q P
I I F P F P v l d ( n F F F F F F F F F F F F F F F F F F F F I Q P
I I F P F Q v l d l o n F F F F F F F F F F F F F F F F F F F F I Q Q
I I F P F R v o l l o n F F F F F F F F F F I Q Q
I I F P F S v o n l o o l l o n F F F F F F F F F I Q R
I I F P F T n d l F F F F F F F F F F F F F F F F F F F F I Q R
I I F Q v l F F F F F F F F F F F F F F F F F F F F F F F F F F F F F I Q S
I I F Q F I v l F F F F F F F F F F F F F F F F F F F F F F F F F I Q U
I I F R v o n F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F I Q U
I I F R F I v o n o n d ( n F F F F F F F F F F F F F F F F F F F I Q V
I I F R F P v o n o n l F F F F F F F F F F F F F F F F F F F I R H
I I F R F Q v d o n l F F F F F F F F F F F F F F F F F F I R I
I I F S F F F F F F F F F F F F F F F F F F F F F F F F F F F F I R P
I I F S F I g o m m n F F F F F F F F F F F F F F F F F F F F F F F F I R P
F B a u d r y D R F H F I
8/4/2019 Introduction Unix et la programmation Shell
11/282
l d m
I I F S F P d m d l l l o m m 4 k 4 I R P
I I F S F Q l o n d l d l l d n l o d o E
m m 4 k 4 F F F F F F F F F F F F F F F F F F F F F F I R Q
I I F T i m l F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F I R R
I I F U m l 9 l o n d l 9 o o n 4 E 4 F F F F F F F F F F F I R S
1 2 P r o g r a m m a t i o n a v a n c e d e S h e l l S c r i p t s 1 4 7
I P F I s n o d o n F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F I R U
I P F P d s d ( 4 G G o 4 F F F F F F F F F F F F I R U
I P F P F I d d o n o n n l F F F F F F F F F F F F F F F F F F I R U
I P F P F P w o d l F F F F F F F F F F F F F F F F F F F F F F F I R V
I P F P F Q h l o m n F F F F F F F F F F F F F F F F F F F F F F F F I R W
I P F P F R o m m o n F F F F F F F F F F F F F F F F F F F F F F I S H
I P F Q d s h q s h d o n l F F F F F F F F F F F F F F F I S I
I P F Q F I d d o n o n n l F F F F F F F F F F F F F F F F F F I S I
I P F Q F P w o d l F F F F F F F F F F F F F F F F F F F F F F F I S I
I P F Q F Q h l o m n F F F F F F F F F F F F F F F F F F F F F F F F I S P
I P F Q F R o m m o n F F F F F F F F F F F F F F F F F F F F F F I S U
I P F R d o n d ( d 9 n o m o n F F F F F F F F F F F F F F F F I S W
I P F R F I d d o n o n n l F F F F F F F F F F F F F F F F F F I S W
I P F R F P w o d l F F F F F F F F F F F F F F F F F F F F F F F I T I
I P F R F Q h l o m n F F F F F F F F F F F F F F F F F F F F F F F F I T P
I P F R F Q F I h m n o n d n d n F F F F F I T S
I P F R F Q F P i o n d n n n n m E E j o F I T T
I P F R F Q F Q g o n d n o l l n l F F F F I T U
I P F R F Q F R o n d o n l F F F F F F F I T W
I P F R F Q F S g o n d n o l l n 4 p r o j e t 4 F F F F F I U H
I P F R F Q F T g o n d o l 4 p r o j e t 4 I U I
I P F R F R o m m o n F F F F F F F F F F F F F F F F F F F F F I U P
I P F R F R F I p 4 m k F n 4 F F F F F F F F F F F F I U Q
I P F R F R F P p 4 m k F n o n 4 F F F F F F F F F I U T
I P F R F R F Q p 4 m k F k 4 F F F F F F F F F F F F I U U
I P F R F R F R p 4 m k 4 F F F F F F F F F F F F F F F F I U W
F B a u d r y D R F H F I
8/4/2019 Introduction Unix et la programmation Shell
12/282
l d m
I V A n n e x e s 1 8 7
A I n s t r u c t i o n s d e f o r m a t a g e 1 8 9
e F I i d 9 l o n d o n l F F F F F F F F F F I W I
B C o r r e s p o n d a n c e s e n t r e l e B o u r n e S h e l l e t l e C S h e l l 1 9 3
f F I w n l o n d l F F F F F F F F F F F F F F F F F F F F F F I W Q
f F P l o n d l F F F F F F F F F F F F F F F F F F F F F F F F I W R
f F Q i o n m F F F F F F F F F F F F F F F F F F F F F F I W R
f F R l o m l l F F F F F F F F F F F F F F F F F F F F F F F F F F I W T
f F S i n o n n m n F F F F F F F F F F F F F F F F F F F F F F F F F F F F I W U
f F S F I i m l m n d l F F F F F F F F F F F F F F F F F F F I W U
f F S F P l d 9 n o n n m n F F F F F F F F F F F F F F F F F F I W U
f F T i n G o d o n F F F F F F F F F F F F F F F F F F F F I W V
f F T F I i n n l n F F F F F F F F F F F F F F F F F F F F F F F F I W V
f F T F P o n D o m n d o @ n d d d 9 A I W W
f F U v o n o n F F F F F F F F F F F F F F F F F F F F F F F F F F F F F I W W
f F U F I v o n o n n n @ b u i l t i n A F F F F F F F F F F F F F F F I W W
f F U F P v o n o n n F F F F F F F F F F F F F F F F F F F F P H H
f F V v d o n l F F F F F F F F F F F F F F F F F F F F F F P H I
f F V F I v @ 4 4 A F F F F F F F F F F F F F F F F F F F F F F P H I
f F V F P g o m l l @ D A F F F F F F F F F F F F P H P
f F V F Q v o l F F F F F F F F F F F F F F F F F F F F F F F F F F P H R
f F V F Q F I f o l d 4 o 4 F F F F F F F F F F F F F F P H R
f F V F Q F P f o l d 4 l 4 F F F F F F F F F F F F P H R
f F V F R l l F F F F F F F F F F F F F F F F F F F F F F F P H S
f F V F S s n o n D d o m n n F F F F F F F F F F P H T
f F V F T v o F F F F F F F F F F F F F F F F F F F F F F F F F F P H T
C U t i l i s a t i o n d e s d i t e u r s d e t e x t e s o u s U n i x 2 0 9
g F I s n o d o n F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F P I H
g F P g o m m n d d d l 9 d F F F F F F F F F F F F F F F F F P I P
g F P F I s n o d o n o n n o n F F F F F F F F F F F F F F F F F P I P
g F P F P w o d d o n o n n m n d 4 4 F F F F F F F F F F F F F P I Q
F B a u d r y D R F H F I
8/4/2019 Introduction Unix et la programmation Shell
13/282
l d m
g F P F Q h m d 9 n o n 4 4 F F F F F F F F F F F F F F F F P I R
g F P F R d 4 4 F F F F F F F F F F F F F F F F F P I R
g F P F S g o m m n d d 9 F F F F F F F F F F F F F F F F F F F F F F P I S
g F P F T s n o n d F F F F F F F F F F F F F F F F F F F F F F F P I T
g F P F U e n n l o d o m m n d F F F F F F F F F F F F F P I U
g F P F V h l m n d F F F F F F F F F F F F F F F F F F F P I V
g F P F W i ' m n d F F F F F F F F F F F F F F F F F F F F F P P H
g F P F I H F F F F F F F F F F F F F F F F F F F F F F F F F F F P P P
g F P F I H F I i o n d F F F F F F F F F F F F F P P P
g F P F I H F P y o n d F F F F F F F F F F F F F F P P R
g F P F I H F Q l o l o n F F F F F F F F F P P R
g F P F I I s n d n o n d F F F F F F F F F F F F F F F F F F F F F P P S
g F P F I P g o G g o l l F F F F F F F F F F F F F F F F F F F F F F F F F P P T
g F P F I Q w o d ( d F F F F F F F F F F F F F F F F F F F F F F F P P U
g F P F I R l m n d d j m n d l 9 n P P W
g F P F I S s n o n l s h e l l F F F F F F F F F F F F F F F F F F F P Q H
g F P F I T w o o n F F F F F F F F F F F F F F F F F F F F P Q P
g F P F I U g o m m n d d o n ( o n d 4 4 F F F F F F F F F F F P Q Q
g F P F I V p d 9 n l o n d 4 4 X 4 F 4 F F F F F F F F F F P Q W
g F Q g o m m n d d d l 9 d m F F F F F F F F F F F F F F F P R I
g F Q F I s n o d o n F F F F F F F F F F F F F F F F F F F F F F F F F P R I
g F Q F P y n o n d l 9 n F F F F F F F F F F F F F F F F F F F P R P
g F Q F Q g l d p o n o n F F F F F F F F F F F F F F F F F F F F F F F P R P
g F Q F R x o o n d ' F F F F F F F F F F F F F F F F F F F F F F F P R Q
g F Q F R F I s n o d o n F F F F F F F F F F F F F F F F F F F F P R Q
g F Q F R F P v 4 m i n i - b u e r s 4 F F F F F F F F F F F F F F F F F P R R
g F Q F S l o n d l 9 d F F F F F F F F F F F F F F F F F F F F F P R R
g F Q F T l o n d l o m m n d F F F F F F F F F F F F F P R S
g F Q F T F I h l m n d n l 4 ' 4 F F F F F F F F F F P R S
g F Q F T F P G m l m n d F F F F P R S
g F Q F T F Q o n o l o l l m E
l m n d F F F F F F F F F F F F F F P R S
g F Q F T F R g o G g o G g o l l F F F F F F F F F F F F F P R T
F B a u d r y D R F H F I
8/4/2019 Introduction Unix et la programmation Shell
14/282
8/4/2019 Introduction Unix et la programmation Shell
15/282
P r e m i r e p a r t i e
I n t r o d u c t i o n U n i x
8/4/2019 Introduction Unix et la programmation Shell
16/282
8/4/2019 Introduction Unix et la programmation Shell
17/282
C h a p i t r e 1
C o n c e p t s d e b a s e s o u s U n i x
1 . 1 N o t i o n s g n r a l e s
U n i x n m d 9 l o o n o n ( o n m n M S -
D O S
1
o y n V m s
2
o n l o n d F s l n 9 o
U n i x D n l D d n o o n d d F y n n o 9 n
l o n d o n d ' n o n o n n m d ( F
g l E o o n d m n X
! n o n d 9 n d @ l o n o o n d o
n o n l o l d 9 n d A Y
! n n m l d d D n o o n 9 l o l d 9 l o
d n n n o n n m n e s h I D o d 9 n o l m l o @ L o g i -
c a l V o l u m e A d n l 9 n o n n m n v w
3
D o n M e t a D e v i c e o n
o l Y
! n m d ( d n d n n m n d
@ x p n m n U n i x D o w f G g s p l 9 n o n E
n m n W i n d o w s A F
v ( I F I d o n n n d l o n o l n n o n d
l 9 o n l d n m n U n i x F
o l o m m n d U n i x d n n l m j l d m n l F
m l l D v D l v o n m o d ' n n
d l 9 n d o m m n d F
g o m m n d U n i x d n n o F v o 9 o n
n o m m n d n d l 9 n d o m m n d D l E n
o o d n l l l l o m m n d F v o l l E m n D
l o o d n n d n l m n o F
1 . M S - D O S = M i c r o s o f t D i s k O p e r a t i n g S y s t e m
2 . V M S = V i r t u a l M e m o r y S y s t e m , s y s t m e d e D i g i t a l E q u i p m e n t
3 . L V M : L o g i c a l V o l u m e M a n a g e r . C e t o u t i l , d v e l o p p l a b a s e p a r I B M p o u r s e s s y s t m e s
A I X e s t p r s e n t m a i n t e n a n t s u r l a p l u p a r t d e s U n i x c o m m e r c i a u x e t d a n s l e s e n v i r o n n e m e n t s
L i n u x .
F B a u d r y D s n o d o n U n i x ! R F H F I Q
8/4/2019 Introduction Unix et la programmation Shell
18/282
g I F g o n d o U n i x
/
usr
etc
bin
lib
include
adm
spoolvar
disk1
disk2
disk3
home
devbin
sbin
export
exec
home
root
dump
swap soft1
Unit physique dcoupe enplusieurs partitions.Chacune est associe unsystme de fichiers diffrent.
Systme de fichiers compos d'undisque physique
Systme de fichiers compos de2 disques physiques
Systme de fichiers compos d'undisque physique
Systme de fichiers compos de3 disques physiques
F i g . I F I ! O r g a n i s a t i o n d e l ' a r b o r e s c e n c e U n i x a v e c l e s s y s t m e s d e c h i e r s
R F B a u d r y D s n o d o n U n i x ! R F H F I
8/4/2019 Introduction Unix et la programmation Shell
19/282
I F P F g o n n o n d o n n o n
1 . 2 C o n n e x i o n e t d c o n n e x i o n
g o m m o m m l E l m l E D U n i x o
l X
! n n o m l l o g i n @ l n U s e r n a m e F d y n V m s D o
l o g o n n a m e d W i n d o w s N T A Y
! n m o d Y
! n n m o d 9 l n o U I D
4
@ l n l 9 U I C
y n V m s o l o g o n I D d W i n d o w s N T A F
o n n D l m o o d m n d l m o
l o g i n o m o d F l d o n l d D U n i x n l o
n o n n m n d l F
R e m a r q u e 1 . 1 :
P o u r d e s r a i s o n s d e s c u r i t , c o m m e s o u s O p e n V m s e t W i n d o w s
N T , U n i x n e v e r i e p a s q u e l e n o m d e l o g i n e x i s t e . U n e f o i s q u e
l e s d e u x i n f o r m a t i o n s s e r o n t s a i s i e s , c ' e s t - - d i r e n o m d e l o g i n e t
m o t d e p a s s e , i l i r a c h e r c h e r d a n s l a b a s e d e s u t i l i s a t e u r s s ' i l e x i s t e
u n e n r e g i s t r e m e n t e t u n s e u l p o u r l e s q u e l l e s c e s d e u x i n f o r m a t i o n s
s o n t e x a c t e s . S i c e l a , n ' e s t p a s l e c a s , U n i x a c h e r a l e m e s s a g e
d ' e r r e u r s u i v a n t :
s n l l o n n m F
s a n s a u t r e f o r m e d e r e n s e i g n e m e n t s .
i n o n o n d d o d l D 9 E E d m n l o o n
d l d o n d 9 n n o n n m n D l m o d d d o n n o n
d m F
o n o n n m n d l n m n l D l o m m n d
d d o n n o n X
h n l d o n d l D l d n d d l 9 n
l o n n F i n ' D l n l d o n X
! C D E o g o m m o n h k o i n o n m n D n o n n m n
d l o l l o n r l E k d @ H P V U E A n E
d l 9 n m l d U n i x o m m o m m S o l a r i s D D i g i t a l U n i x D
H P U X D A I X D I r i x D F
! f v w m 9 5 D n o n n m n l F r e e S o f t w a r e F o u n d a t i o n
l d L i n u x D n o n n m n d o n l n o n m l
W i n d o w s W S @ A W i n d o w s N T R @ o A F v o d
n o n n m n o n d o n l l d 9 F s l d o n o l d
l m o n 9 m o l l o m U n i x @ o m m y n V m s F
! K D E D n o n n m n l F r e e S o f t w a r e F o u n d a t i o n l
d L i n u x D n o n n m n d o n l n o n n n
m l n n C D E l 9 A c t i v e D e s k t o p d M i c r o s o f t C o r p . F
4 . U I D = U s e r I D e n t i e r
F B a u d r y D s n o d o n U n i x ! R F H F I S
8/4/2019 Introduction Unix et la programmation Shell
20/282
g I F g o n d o U n i x
! g n o m e D n o n n m n l F r e e S o f t w a r e F o u n d a t i o n l
d l o n d L i n u x
5
D n o n n m n o n o j
n n o l m n l o l o l d n l F
! 4 D w m D n o n n m n d o n l l l m n
l o n S i l i c o n G r a p h i c s I n c . F
! F
s l l n d o d 9 n o d d l o m n
d m n l o n n o F x o d d l l o n l m o d d
d o n n o n o n d n F
g o m m o m o n m o d o n l D l
n o m m n d o l n F o U n i x o m m n d F
i l l o d m n d l 9 n n m o d D l n o m o d n
o n ( m o n F
E n r s u m :
h o n n o n d m F
d g n m n d m o d F
v l I F I d o n n n l n n l m U n i x y n V m s d
D i g i t a l E q u i p m e n t F
U n i x y n V m s
v y q y
i e y h
T a b . I F I ! q u i v a l e n c e s U n i x e t O p e n V m s p o u r l a d c o n n e x i o n e t l e c h a n g e -
m e n t d e m o t d e p a s s e .
R e m a r q u e 1 . 2 :
S i v o u s t e s c o n n e c t d i s t a n c e s u r l e s y s t m e U n i x g r c e l a c o m m a n d e
l n ( o u t o u t a u t r e t y p e d e p r o t o c o l e s i m i l a i r e c o m m e L A T ,
l e c o m p o r t e m e n t o b t e n u e s t q u i v a l e n t c e l u i d ' u n t e r m i n a l p a s s i f .
1 . 3 F o r m a t d ' u n e c o m m a n d e
n o m m n d o n d 9 n n o m d 9 m n F v
n m o d 9 n o m m n d n o l o E
l o n F
S y n t a x e :
5 . R e d H a t C o r p . p r v o i t d ' i n t g r e r c e t y p e d ' i n t e r f a c e e n s t a n d a r d d a n s c e s p r o c h a i n e s
v e r s i o n s .
T F B a u d r y D s n o d o n U n i x ! R F H F I
8/4/2019 Introduction Unix et la programmation Shell
21/282
I F R F v m n l U n i x
7 o m m n o o n m n ` g b
E x e m p l e 1 . 1 :
7 n n r s
7 l E l m o l l l n l o h v
R e m a r q u e 1 . 3 :
S o u s U n i x , o n f a i t l a d i r e n c e e n t r e m a j u s c u l e s e t m i n u s c u l e s . P a r
c o n s q u e n t l , v , l e t v s o n t q u a t r e s t e r m e s d i r e n t s . D e m m e ,
s i o n d e m a n d e , p a r e x e m p l e , d e t a p e r , i l n e f a u d r a p a s t a p e r
.
1 . 4 L e m a n u e l U n i x
1 . 4 . 1 I n t r o d u c t i o n , l e s s e c t i o n s
v m n l d n d n l o n F g n o o n d
n j n l F
o n I X v o m m n d l F
o n I m X v o m m n d d 9 d m n o n m F
o n P X v l m @ o m m o n A F
o n Q X v l d o E o n @ o m m o n A F
o n R X v ( F
o n S X v o m d ( F
o n T X v d j F
o n U X o l d F
o n V X v o m m n d d 9 d m n o n m F
o n W X q l o F
i n n l D o n o d n l d o m n o n l o o n o m d
m n l l m F s l o n d o l o n d n l l l o
l m n l d 9 n o m m n d F i n ' D d n o d o m n o n D l n
o n o n o l o m n X m @ n A o m l n o m d l
o m m n d n l n m o d l o n F
1 . 4 . 2 F o r m a t d ' u n e p a g e d u m a n u e l
n d m n l o n n n n l l I I n X
! N A M E
! S Y N O P S Y S @ n A
! H A R D W A R E D E P E N D E N C I E S
! E X A M P L E S
! F I L E S
! R E T U R N V A L U E
! S E E A L S O
! D I A G N O S T I C S
F B a u d r y D s n o d o n U n i x ! R F H F I U
8/4/2019 Introduction Unix et la programmation Shell
22/282
g I F g o n d o U n i x
! B U G S
! W A R N I N G S
! A U T H O R
g n d d l o n n X
N A M E
g o n n l n o m d l o m m n d n 9 n d o n n F v
d o n l o n l 9 n d n l F
S Y N O P S Y S
s n d o m m n l o m m n d l l l F e 0 n l
l 9 l d o n m n m n l F v m n
o @ A o n o o n n l F v m l n m E
l d o F v n o n l o m o n
l 9 m n d n F 9 l d o l d o n
d S Y N O P S Y S D l z D E S C R I P T I O N F
D E S C R I P T I O N
g o n n n d o n d l l d l o m m n d F
H A R D W A R E D E P E N D E N C I E S
n l l n d 9 l o o n l o n l m l F
E X A M P L E S
g n d m n l o n d m l o j o l m d m
n d m o m n d l o m m n d F
F I L E S
o l ( l o m m n d l F
R E T U R N V A L U E
h l l n o d 9 n l o m m F
S E E A L S O
n o d 9 d m n l o n d o m n o n o
d l m l n n m n F
D I A G N O S T I C S
l o m m n d o d m d 9 D l o n l
@ n n l 3 3 3 A F
B U G S
h l @ o A F o n l o o n d o l m
o n l d n l 9 l o n d o m m n d F
W A R N I N G S
d m B U G S F
1 . 4 . 3 L a c o m m a n d e m a n
v o m m n d m n d n l d ' n o n @ I D P D Q D R D S D T D U D V D W D I m A
l m o l F i l l 9 l m m o l o F e n D m l D o n
m m n l 9 d @ I A l o m m n d m n
Y o o @ R A D l d l o m m n d m n R
F n o o D l l 0 l o n n d 9 n ( d 9 d l 9 n
n n d l n o n F g l E o o n d l d m n l o F
V F B a u d r y D s n o d o n U n i x ! R F H F I
8/4/2019 Introduction Unix et la programmation Shell
23/282
I F S F s n o d o n l n o o n d l e s y s t e m
o l l n n X r e t u r n
o l 9 n n X s p a c e
o X o
S y n t a x e :
7 m n n o m m n
y l 9 o o n n l n m o d 9 n o n
R e m a r q u e 1 . 4 :
I l e s t p o s s i b l e d ' a v o i r u n e l i s t e d e c o m m a n d e s c o n c e r n e s p a r u n m o t
c l e f d e d e u x f a o n s :
7 m n E k m o E l ( k c o m m e k e y w o r d )
o u b i e n
7 o o m o E l
C e c i n e f o n c t i o n n e r a q u e s i l ' a d m i n i s t r a t e u r a c o n s t i t u l a b a s e d e
d o n n e s r f r e n a n t l e s m o t s c l e f s d a n s l e m a n u e l ( c h i e r ) .
1 . 4 . 3 . 1 E q u i v a l e n c e s
v l I F P d o n n n l n n l m y n V m s d D i g i t a l
E q u i p m e n t D M S - D O S U n i x F
U n i x y n V m s M S - D O S
m n r i v r i v
o o r i v r i v
T a b . I F P ! q u i v a l e n c e s O p e n V m s , M S - D O S e t U n i x p o u r a c c d e r l ' a i d e
1 . 5 I n t r o d u c t i o n l a n o t i o n d e l e s y s t e m
1 . 5 . 1 S t r u c t u r e a r b o r e s c e n t e
x o o n d m m n 9 l n 9 l d n o o n d d o
U n i x F s l n d m m o l F h o n n l D o
( F y n n o d o n D n l D 9 n l o n o n E
d o d ( d n l o d m @ F (
I F P A F v n o m d 9 n ( o U n i x n d F s l n 9
d n o o n d d ( d n m o d o n o m m y n V m s o
M S - D O S F v F o n d o m m n n d n l
n o m d ( n o n D o m m y n V m s o M S - D O S D l d
o n n l n o m d ( o n F s l d o n o l d 9 o n
( d o n l n o m o m o l F F v l o o d n o m d (
m l d o n l l d l 9 n o n n m n M a c O S F
F B a u d r y D s n o d o n U n i x ! R F H F I W
8/4/2019 Introduction Unix et la programmation Shell
24/282
g I F g o n d o U n i x
(
(
(
(
(
(
o
(
(
o
(
(
o
o
o
G @ o o A
F i g . I F P ! S t r u c t u r e a r b o r e s c e n t e d u s y s t m e U n i x
R e m a r q u e 1 . 5 :
C e r t a i n s c a r a c t r e s s o n t v i t e r d a n s l e s n o m s d e c h i e r s t e l s q u e :
l ' e s p a c e ;
l a t a b u l a t i o n ;
l e c a r a c t r e Y ;
t o u t c a r a c t r e d e c o n t r l e ( e s c , c t r l H , c t r l C ,
e t c . ) .
R e m a r q u e 1 . 6 :
L e s n o m s d e c h i e r s t i e n n e n t c o m p t e d e s m a j u s c u l e s / m i n u s c u l e s .
P a r e x e m p l e : s w y x e t m o n s o n t d e u x c h i e r s d i f -
f r e n t s .
1 . 5 . 2 L e s c h e m i n s d ' a c c s
y n d n d d m n d 9 ( X
! l m n d 9 o l Y
! l m n d 9 l F
v c h e m i n s d ' a c c s a b s o l u s ( n n n o m d ( o d o
d l n F v m n d 9 o l o m m n n d o n G
l n o m d l n o d r o o t d i r e c t o r y F
v c h e m i n s d ' a c c s r e l a t i f s ( n n n o m d ( o d o
d o o n D l w o r k i n g d i r e c t o r y F o n n D
m n n o m m n n G @ m l X G A F
E n r s u m :
g m n d 9 o l X
! g o m m n n G Y
! n n l o o n l o r o o t d i r e c t o r y F
I H F B a u d r y D s n o d o n U n i x ! R F H F I
8/4/2019 Introduction Unix et la programmation Shell
25/282
I F S F s n o d o n l n o o n d l e s y s t e m
g m n d 9 l X
! x o m m n n G D
! n n l o o n l o o o E
n F
E x e m p l e 1 . 2 :
m d l m n l d l m n o l
U n i x F F G o G o m G G m o l l
y n V m s l E F o l k 6 X m o l l
M S - D O S g h F F i i g h g X i g r w y v v
1 . 5 . 3 P r i n c i p a u x r p e r t o i r e s U n i x
R o o t d i r e c t o r y ( G )
g 9 l d l 9 o n F s l n 9 9 n n l n l ( l
m F v r o o t d i r e c t o r y l l o n F o l (
m n d 9 o l o n l r o o t d i r e c t o r y d n l m n d 9 F
R p e r t o i r e s G n e t G n
v o G n G n o n n n n l o m m n d d U n i x d
l o n I @ l D D m D m D l n D F A l n l o d d m
d m F v ( o n n d n o n o n d
l F
R p e r t o i r e G
v o G o n n l ( m n d o m m E
n o l o m m l d D l m n D l
d o l d n d D l m m n D F
R p e r t o i r e G
v o G o n n o l ( d 9 d m n o n n n
n o m d o m m n d m F v o G o n o n n o m
6
F
R p e r t o i r e s G o m e t G o o
v o G o m o n n l o o n n l d l d
m F
v o G o o l o o n n l d l 9 d m n F
R p e r t o i r e G e t s o u s - r p e r t o i r e s
v o G o n n n n n o m d o E o F g n
o n n l ( n o n o n n m n n m o d n o m l d
m
7
F m l X
! G G n G G n o n n n n l o m m n d l m n
n o n o n n d n G n G n Y
! G G l o n n l l o o l o n o n n m n d 9 U n i x
o l d l o m n Y
! G G n l o n n l ( d d l o n d o n o n E
m o l d l o m n F
6 . e t c a v r a i m e n t t c h o i s i p o u r l a s i g n i c a t i o n d e e t c a e t e r a
7 . m o d e m u l t i - u t i l i s a t e u r s
F B a u d r y D s n o d o n U n i x ! R F H F I I I
8/4/2019 Introduction Unix et la programmation Shell
26/282
g I F g o n d o U n i x
R p e r t o i r e G
v o G o n n l ( l @ l d 9 m o E
d ( m m n A X j o n @ l o A D E m l D d d o n n D D
F F F
1 . 6 L e s e n t r e s / s o r t i e s
e o n d o D l o ' o n d o m E
m n o n X
! l 9 n n d d Y
! l o n d d Y
! l o d 9 n d d F
v ( I F Q l l l o n d o m m n o n o d
o l m U n i x F
F i g . I F Q ! E n t r e s / S o r t i e s d ' u n p r o c e s s u s
g n d o n o ' n n o m d ( n n m o X
g n l d o m m n o n p x m o l o
i n n d d n H
o n d d o I
o d 9 n d d P
v ( n @ e n t r e s t a n d a r d A D l ( d l l o
l l d o n n n n n F s l o l n m o l o H @ l e
d e s c r i p t o r C A D l D d o l F
v ( o @ s o r t i e s t a n d a r d A D l ( d n l l l o
l m 9 l o d n o D d n l d 9 n o n n o m l F
s l o l n m o l o I @ l e d e s c r i p t o r C A D l D d
o l 9 n F
v ( @ s o r t i e d ' e r r e u r s s t a n d a r d A D l ( d n l l l
o l m d 9 F s l o l n m o l o P
@ l e d e s c r i p t o r C A D l d o l 9 n F
R e m a r q u e 1 . 7 :
O n d i s t i n g u e t o u j o u r s d e u x c a n a u x d e s o r t i e s ( u n p o u r l e s s o r t i e s
n o r m a l e s e t u n p o u r l e s e r r e u r s ) . E n e e t , s i u n p r o c e s s d o i t c r i r e
I P F B a u d r y D s n o d o n U n i x ! R F H F I
8/4/2019 Introduction Unix et la programmation Shell
27/282
I F U F v ( l
d a n s u n c h i e r e t q u ' u n e e r r e u r s e p r o d u i t ( i m p o s s i b i l i t d ' c r i r e p a r
e x e m p l e ) , i l f a u t a c h e r u n m e s s a g e s u r u n c a n a l d e s o r t i e d i r e n t .
v l I F Q d o n n l l n d n o m d n d 9 n G o
n l m U n i x y n V m s d h l F
U n i x y n V m s
n 6 s x
o 6 y
6 i y
T a b . I F Q ! q u i v a l e n c e s d e s n o m s d e s c a n a u x d ' e n t r e s / s o r t i e s e n t r e U n i x e t
O p e n V m s
1 . 7 L e s l t r e s
n ( l n o m m n d U n i x d n ' n o n l d o n n
n l d l 9 n n d d 0 l l n l
o n d d F
v ( I F R m o n l n d ( l o U n i x F
F i g . I F R ! P r i n c i p e d e s l t r e s s o u s U n i x
s l o l d 9 n n l ( l l n F o n D l
o n d n ( n d n n d o n o m o o m m d
( l F
F B a u d r y D s n o d o n U n i x ! R F H F I I Q
8/4/2019 Introduction Unix et la programmation Shell
28/282
g I F g o n d o U n i x
I R F B a u d r y D s n o d o n U n i x ! R F H F I
8/4/2019 Introduction Unix et la programmation Shell
29/282
C h a p i t r e 2
C o m m a n d e s U n i x
2 . 1 C o m m a n d e s l i e s a u l e s y s t e m
2 . 1 . 1 C o m m a n d e s p w d e t c d
a n o k n h o
a g n h o
S y n t a x e :
e 0 l m n d 9 o l d o o E
n F
o g n l o o n F
E x e m p l e 2 . 1 :
7
G o m G G
7 G o m G G m o l l
v l P F I d o n n n l n d o m m n d d d l m n d n
l 9 o n n U n i x y n V m s F
U n i x y n V m s
i h i p e v
r y h i p e v
T a b . P F I ! q u i v a l e n c e d e s c o m m a n d e s d e d p l a c e m e n t d a n s l ' a r b o r e s c e n c e s u r
l e s y s t m e
2 . 1 . 2 C o m m a n d e l s
S y n t a x e :
l E l p F F F
v l o n n d 9 n o F
F B a u d r y D s n o d o n U n i x ! R F H F I I S
8/4/2019 Introduction Unix et la programmation Shell
30/282
g P F g o m m n d U n i x
v o m m n d 4 l 4 n m n D l l n o m d ( @ o d E
o A n d n l o o n F g o m m n d D l n
n o m d ( o m m m n D m d ( l 9 n d l E F
l 9 m n l n n o m d o D 4 l 4 n l l o n n F
s l d n o m o o n o l o m m n d 4 l 4 F v l E
d o l o o n l l l F
E l 0 l d ( D l o o n D l n o m d l n
l ( D l o D l o D l l l n o D l d d
d n m o d ( o n l n o m d ( F
E p j o n 4 G 4 l n o m d o D n 4 B 4
( o d n l d o d 9 o n n 4 d 4
( l n @ F o n P F P F Q A F
E l o l ( o m l ( F
E l l ( l o d o n F
E n d n d d n n o l m n n o m d
o F
E x e m p l e 2 . 2 :
7 l E p
I G I P B Q d
7 l E
F F F F o l I I P Q
7 l E l
E E E Q m o l l m P R t l P S I H X H H P
E E E E E E I m o l l m Q U t l P S I P X H H I
E E E I m o l l m Q U t l P S I P X H H P
l E E E E E I m o l l m Q U t l P S I P X H H Q E b G m G
7 l E
I I P Q
F G I X
R S
7 l E I
I
v l P F P m o n l l n n l o m m n d d m
U n i x D y n V m s M S - D O S o 0 l l d ( d 9 n o F
U n i x y n V m s M S - D O S
l h s i g y h s
l E l h s i g y G p v v N / A
l E h s i g y F F F A b s e n t d e g y w w e x h F g y w
l h s i g y F i h s i
l E h s i g y i F h s h s i
T a b . P F P ! q u i v a l e n c e s e n t r e s y s t m e s p o u r a c h e r l a l i s t e d e s c h i e r s d ' u n
r p e r t o i r e
I T F B a u d r y D s n o d o n U n i x ! R F H F I
8/4/2019 Introduction Unix et la programmation Shell
31/282
P F I F g o m m n d l ( l m
2 . 1 . 3 C o m m a n d e s m k d i r e t r m d i r
S y n t a x e :
m k E o F F F @ m k d o A
m o F F F @ m o d o A
v o m m n d m k m d d o F v o 9 n o
D l o d o m m n d o o X 4 F 4 4 F F 4
o n m n l l o n F v o m m n d m m d m d E
o F v o m d o n m m n d @ l n
d o n o n n l o 4 F 4 4 F F 4 A F h 9 D l m o E
l d m d o o n n l n l o
o n F g n d d o m m n d o l m n F v
m n d m k o n l n o m d o F v m n d
m d o n d n o m d o d j n F h n l d D
o n l d m n d 9 l o o l F
R e m a r q u e 2 . 1 :
L o r s q u ' o n u t i l i s e l a c o m m a n d e m a v e c p l u s i e u r s a r g u m e n t s ,
m d t r u i t l e s r p e r t o i r e s d a n s l ' o r d r e d a n s l e q u e l i l s o n t t p r -
c i s s s u r l a l i g n e d e c o m m a n d e . P a r c o n s q u e n t , s i l ' o n v e u t e n d -
t r u i r e p l u s i e u r s , l ' o r d r e s u r l a l i g n e d e c o m m a n d e a u n e i m p o r t a n c e .
E x e m p l e 2 . 3 :
7 m k m o n
7 m k m o n G I m o n G P m o n G I G I I
7 m k m o n G Q G Q I
7 m m o n G P
7 m m o n G Q G Q I m o n G Q
7 m m o n G I G I I m o n G I m o n
v l P F Q m o n l l n n l o m m n d d m
U n i x D y n V m s M S - D O S o l o n d o F
U n i x y n V m s M S - D O S
m k g i e i G h s i g y w h o w u h s
m h i v i i h o w h s
T a b . P F Q ! q u i v a l e n c e s e n t r e s y s t m e s p o u r l a g e s t i o n d e s r p e r t o i r e s
2 . 1 . 4 R p e r t o i r e s " . " e t " . . "
n d n o D l m n o m m n d o E
o n n d l n l o l o X
! l o 4 F 4 a o o n D
! l o 4 F F 4 a o F
v o 4 F F 4 l o n o d d
o o n d n l 9 o n d ( l m F e n l 0 d 9 l
4 F F 4 d n n m n d 9 l o n l o F
F B a u d r y D s n o d o n U n i x ! R F H F I I U
8/4/2019 Introduction Unix et la programmation Shell
32/282
g P F g o m m n d U n i x
m l 4 F F 4 m o n d 9 n n d n l 9 o n 4 m o F F G F F G 4
l l o n n d 9 n ( d n d d n l 9 o n F v ( E
P F I m o n l l n n l o 4 F 4 4 F F 4 l o ( l
F
F i g . P F I ! L i e n s d e s r p e r t o i r e s " F " e t " F F "
v l P F R m o n d m l d 9 l n n l m U n i x D
y n V m s M S - D O S d m n l o n d o 4 F 4 4 F F 4 F
U n i x y n V m s M S - D O S
F F
F F E F F
F F G F F ! F F F F
T a b . P F R ! E x e m p l e s d ' e q u i v a l e n c e s e n t r e s y s t m e s p o u r l a m a n i p u l a t i o n d e s
r p e r t o i r e s " F " e t " F F "
2 . 2 C o m m a n d e s d e m a n i p u l a t i o n d e c h i e r s
2 . 2 . 1 A t t r i b u t s d ' u n c h i e r
d ( n o n D n ( n d 9 o o d n l E
n X
! n D
! n m d o o n D
! n n o m d l n d 9 ( D
! n o o D
I V F B a u d r y D s n o d o n U n i x ! R F H F I
8/4/2019 Introduction Unix et la programmation Shell
33/282
P F P F g o m m n d d m n l o n d (
! n l l D
! n d d o n d d n m o d ( o n D
! n n o m F
v d ' n d ( o n X
o d
n d d E
o
l n m o l l
( l m o d l o k
( l m o d
( l m o d n
n o m m
v 4 l n m o l 4 o o n d n ( l o n n E
m n n F
v 4 ( l m o d l o k 4 4 ( l m o d 4
n o m m n l @ d D m n D F A F
v 4 ( l m o d 4 d n l d o m m n o n n
o d ' n m n F
v 4 n o m m 4 d n l d o m m n o n n d ' n o E
n m m m n F
2 . 2 . 2 A c h a g e d u c o n t e n u d ' u n c h i e r - C o m m a n d e s c a t
e t m o r e
S y n t a x e :
F F F
m o F F F
v o m m n d o n n l o n n d ( n m n 0
l o n n l o n d d F
v o m m n d m o l l o n n d ( n
n F o l l n D l 0 d s p a c e D o d
r e t u r n ( n d l n l n l m n F o m n
l l o n n l ( n d ( D l o 4 4 o 4 4 F h 9
o m m n d o n d o n l D o l l o 4 4 o 4 r 4 l o
m o m n d 9 0 n n F
v l P F S m o n l 9 l n n l o m m n d m o
d 9 m @ y n V m s M S - D O S A F
2 . 2 . 3 M a n i p u l a t i o n d e c h i e r s - C o m m a n d e s c p , m v e t l n
D n i t i o n :
F B a u d r y D s n o d o n U n i x ! R F H F I I W
8/4/2019 Introduction Unix et la programmation Shell
34/282
g P F g o m m n d U n i x
U n i x y n V m s M S - D O S
i
m o G i F F F | w y i
T a b . P F S ! q u i v a l e n c e e n t r e e t m o e t d ' a u t r e s s y s t m e s
o l ( F
m n o m m l ( o G o d l l
( F
l n n l n n ( o n o F
S y n t a x e :
E E o n o n m E E o n o n l n E E o l n E n o n
v o l o m m n d 4 4 n o d d @ 4 I P 4 A D
l l ' n o d ( o l ( d n o n F l E E
d j l m o m l l n o F
v o l o m m n d 4 4 o d l d d m n @ l ( E
o A D l d n o n o l o m n n o @ 4 I
P o 4 A F h n D l l d l ( d n l E
o ( F 9 l n d j o l m m n o m D l o n m o
m l l o F
v o m m n d 4 m 4 d o n m l X
! l l n o d d m n D l l n o m m l ( o o
l n o n o m D
! l l o d l m n D l d n o n o l o m n n
o F h n D l l d l l ( o d n l o
( F
h m m D d ( n d j o l m m n o m D l o n E
m F h n l l o l o m m n d 4 m 4 n o d d E
m n l d n o n n n o m d o D l ( o d l
n o o n d l 9 o n F
v ( o d l o m m n d 4 4 n n d o F
v ( o d l o m m n d 4 m 4 n d n 9 m o l
F
v o m m n d 4 l n 4 o l 9 n ( l n o m D o n
d o n d l n n ( F v n X
l n I P
! I d j D o o d l n o
n o m P F
! P l o l I F
y n d n d d l n X l l n m o l l l n l o F
P H F B a u d r y D s n o d o n U n i x ! R F H F I
8/4/2019 Introduction Unix et la programmation Shell
35/282
P F P F g o m m n d d m n l o n d (
! h n l d l n m o l D P @ ( l n A o n I
@ ( o A m n d 9 d n o m o n l d F
o n n D I ' D l o n n d P o n
l o d 9 n n F L ' i n f o r m a t i o n e s t d o n c p e r d u e F
! h n l d l n l o D I @ ( o A P @ ( E
l n A o n n d m n l d o n n d n l d F
o n n D I ' D l e c o n t e n u n ' e s t p a s p e r d u e t e s t
t o u j o u r s a c c e s s i b l e p a r P F
v ( P F P m o n l d ' n n l l n m o l l l n
l o d l l o n l n o m o n l m d ( F
F i g . P F P ! D i r e n c e e n t r e l e s l i e n s s y m b o l i q u e s e t l e s l i e n s l o g i q u e s
R e m a r q u e 2 . 2 :
D e u x o u p l u s i e u r s c h i e r s l i s p a r u n l i e n l o g i q u e d o i v e n t r s i d e r s u r
l e m m e s y s t m e d e c h i e r s .
2 . 2 . 3 . 1 V i s u a l i s a t i o n d u n o m b r e d e l i e n s a v e c l a c o m m a n d e l
E x e m p l e 2 . 4 :
l 9 o n n d l 9 m l d o m m n d n X
7 l E l
l n l o m l n
7 l n E l n l o l
7 l n m l n n n
7 l E l
E E E E E E I m o l l n o o Q U t l P S I P X H H
l E E E E E I m o l l n o o Q U t l P S I P X H Q l E b l n l o
E E E P m o l l n o o Q U t l P S I P X H I n n
E E E E E E I m o l l n o o Q U t l P S I P X H P l n l o
E E E P m o l l n o o Q U t l P S I P X H I m l n
F B a u d r y D s n o d o n U n i x ! R F H F I P I
8/4/2019 Introduction Unix et la programmation Shell
36/282
g P F g o m m n d U n i x
d o n
! l n l n m o l l n l o D
! n n n l n l o l m m n o m o n
l l o n l ( m l n F
y n m l ( l d 4 l i e n 4 o n l
( l n l o F v n o m d l n o l 1 @ n l n
l n l o A F
E n c o n c l u s i o n , p o u r l e s l i e n s s y m b o l i q u e s :
v 9 n o m o n l d d n m n l (
4 l n l o 4 F
v o 9 o n d ( 4 l 4 D l m D n o l 9 d n ( n
d ( 4 l n l o 4 F o n n D l ( 4 l n l o 4
d D 4 l 4 d l n d o n n F
E n c o n c l u s i o n , p o u r l e s l i e n s l o g i q u e s :
o n D l d ( 4 m l n 4 4 n n 4 o E
o n d n n 4 c h i e r r g u l i e r 4 o 4 s t a n d a r d 4 F h l D l o m m n d
4 l E l 4 n d d e u x l i e n s F i n ' D l s e c t e u r s l d
o o n d n d n o m d ' n @ ( m l n
n n A F
v 9 n o m o n n d 9 n l o l d m l l
d d n o m d ( d ' n F o n n D
l ( 4 m l n 4 d D l m o j o
d o n n l ( 4 n n 4 F
v l m o n d o n n l l o n n d l n l o
d o n n l 9 d n ( n l d @ 4 i - n o d e 4 A d
l ( l n n F
v l P F T m o n l o o n d n d o m m n d D m l n n
l m d 9 l o o n U n i x D y n V m s M S - D O S F
U n i x y n V m s M S - D O S
g y g y
m i x e w i i x
l n i p s v i G i x i d 9 l n
T a b . P F T ! q u i v a l e n c e d e s c o m m a n d e s , m e t l n e n t r e U n i x , O p e n V m s e t
M S - D O S
2 . 2 . 4 E a c e m e n t d ' u n c h i e r - C o m m a n d e r m
S y n t a x e :
m E F F F
v o m m n d 4 m 4 l o ' d ( F n o ' D l
( n n l
1
F v o m m n d m m o n n
1 . m o i n s , b i e n s r , d e d i p o s e r d ' u n s y s t m e d e s a u v e g a r d e
P P F B a u d r y D s n o d o n U n i x ! R F H F I
8/4/2019 Introduction Unix et la programmation Shell
37/282
P F Q F o o n l (
m n F l m n o n o n l o m m n d D o l (
( o n ' n o n o n d m o d d o o n F
v 9 o o n 4 E 4 @ A n d l m d 9 ' n E
o o o n o n n F
v 9 o o n 4 E 4 @ n A d m n d n o n ( m o n @ o n A
( ' F
v 9 o o n 4 E 4 @ o A n l n o m 4 m 4 d o o n d
( D m n m n d o F o o z d o n ' o ( D
m m 9 l o n o F
A T T E N T I O N A U X C A T A S T R O P H E S A V E C L E S
O P T I O N S " - f " E T S U R T O U T " - r " ! ! !
v l P F U d o n n l o o n d n d d ' n o m o m n d l
o m m n d m n l m d 9 l o o n U n i x D y n V m s M S - D O S F
U n i x y n V m s M S - D O S
m h i v i i h i v
m E h i v i i G g y x p s w d 9 l n
T a b . P F U ! q u i v a l e n c e s d e l a c o m m a n d e m e n t r e U n i x , O p e n V m s e t M S - D O S .
2 . 3 P r o t e c t i o n s s u r l e s c h i e r s
2 . 3 . 1 N o t i o n d ' i d e n t i t s o u s U n i x
g o m m o m m l E l D m l E D o d z o d n E
n d o o l l o U n i x X
! o n o m d l o n o l o g n a m e D
! o m o d F
h o n ( D l m l n l 9 n d o m m n d
o n m o d 9 l X l 9 U I D
2
F s l l o n o l o
@ n o n o n d o ( l l A X l G I D
3
F
e d m o m n D o l o E o n o n l n o l
m m d n D 9 d l m m U I D G G I D F
g ( o U n i x o d n o @ o n U I D A n
o @ o n G I D A F h o n n l D l o l o d
( o o n d n d o l 9 F
v o d ( n m o d ( l n F
v o d ( n m o d ( l o F
2 . U I D = U s e r I d e n t i e r
3 . G I D = G r o u p I d e n t i e r
F B a u d r y D s n o d o n U n i x ! R F H F I P Q
8/4/2019 Introduction Unix et la programmation Shell
38/282
g P F g o m m n d U n i x
e n d m n m d o o n D l n 9 d l o n n l G I D
l 9 U I D F n l n U I D d o n n d n l d ( n q s h
d ' n D l l n d o F v n m o d 9 U I D n
l F
s l n 9 d o n d n o o n d o l @ U I D D G I D A m m
y n V m s l s g 4 o D m m 4 F
v 9 d m n d m @ o o o s u p e r - u s e r l n i w
y n V m s A o m m l o d o l ( F
v l P F V d o n n l l n n U n i x y n V m s o l
n o o n d 9 d n l m F
U n i x y n V m s
l o n m n m
s h U I C
q s h o d n l 9 U I C
T a b . P F V ! q u i v a l e n c e s p o u r l e s n o t i o n s d ' i d e n t i t s e n t r e U n i x e t O p e n V m s
2 . 3 . 2 P e r m i s s i o n s
o U n i x D o n d n o m o d d 9 X
! l 9 n l D
! l 9 n D
! l 9 n o n F
i n o n o n d d ( @ n o o n ( n d d A D l m o d
d o o n m d l o n d d n l l P F W F
e p o
v v o n n d (
l F
l o n n d o
l
a
F
v o n n d (
m o d ( F
v o n n d o
m o d (
b
F
i o n v ( l
n o m m n d
c
F
v o d n
l o o n F
T a b . P F W ! A c t i o n s p o s s i b l e s e n f o n c t i o n d u m a s q u e d e p r o t e c t i o n
a
V i s i b l e p a r l a c o m m a n d e " l s " p a r e x e m p l e .
b
C r a t i o n , s u p p r e s s i o n d e c h i e r s , e t c .
c
R e p o r t e z v o u s l a p a r t i e I I I .
R e m a r q u e 2 . 3 :
R e m a r q u e s s u r l e s p r o t e c t i o n s d ' u n r p e r t o i r e
S i l e r p e r t o i r e e s t a c c e s s i b l e e n l e c t u r e , a l o r s o n p e u t v o i r l e s c h i e r s
q u i s ' y t r o u v e n t p a r l a c o m m a n d e l p a r e x e m p l e .
P R F B a u d r y D s n o d o n U n i x ! R F H F I
8/4/2019 Introduction Unix et la programmation Shell
39/282
P F Q F o o n l (
S i l e r p e r t o i r e e s t a c c e s s i b l e e n c r i t u r e , i l e s t a l o r s p o s s i b l e d e f a i r e
d e s m a n i p u l a t i o n s s u r l e s c h i e r s q u i s ' y t r o u v e n t a v e c l e s c o m -
m a n d e s m , e t m . I l f a u t d o n c b i e n f a i r e a t t e n t i o n c e m o d e
d e p r o t e c t i o n .
S i l e r p e r t o i r e e s t a c c e s s i b l e e n e x c u t i o n , i l p e u t d e v e n i r l e r p e r -
t o i r e c o u r a n t a v e c l a c o m m a n d e .
P a r c o n s q u e n t , p o u r q u ' u n c h i e r p u i s s e t r e e a c , i l f a u t a v o i r
l e s d r o i t s d ' c r i t u r e s u r l e r p e r t o i r e q u i l e c o n t i e n t .
v o o n d 9 n ( n o n X
! l n l @ A D
! l n o @ o A D
! l n @ o A F
v ( P F Q d l m o d d 9 d 9 n o n ( F
-
-
-
-
-
-
?
?
?
??
? x o n
x o n
x o n
x o n
x o n
y
y
y
y
y
v ( E E l l m m
U I D l o c
v m d o E
o n 4 n U t i l i s a t e u r 4
o E E l l 9 c
v m d o E
o n 4 n G r o u p e 4
o E E l l 9 c
v ( E E l n G I D
d n q s h o l 9 n
d o o n d
d o c
v m d o o n
4 n A u t r e 4 o E
E l l 9 c
e
e
F i g . P F Q ! A l g o r i t h m e d e v r i c a t i o n d e s d r o i t s d ' a c c s s o u s U n i x
2 . 3 . 3 C h a n g e m e n t d e p r o t e c t i o n - C o m m a n d e c h m o d
S y n t a x e :
m o m o F F F
X
m o a m d o o n
o n m o a ` | | o b ` C | E b ` | | b
F B a u d r y D s n o d o n U n i x ! R F H F I P S
8/4/2019 Introduction Unix et la programmation Shell
40/282
g P F g o m m n d U n i x
v m o n n m o d ( o n ( o n o
l o @ o l 9 d m n A n l n l o m m n d 4 m o 4 F
s l o l d ( l n o m d o o n d d o n X
! l o l d m d o o n n o c t a l D
! n l m d o o n n n F
v m d o o n n o l 9 n d l o n n X
! l d o d l 9 n l o o n d 22 = 4 D
! l d o d l 9 n o o n d 21 = 2
D
! l d o d l 9 n o n o o n d 20 = 1 F
v l P F I H m l d ' n l o d ' n d o
d 9 F
d o d 9 l o n
22 21 20
R P I
o n l
T a b . P F I H ! V a l e u r s a s s o c i e s a u x d i r e n t s d r o i t s d ' a c c s
o ' l d o d 9 n ( o n o D l 0 d
o d d l o n n X
! o n d d o n n n l l o l o o n d 9 D
! o n ' o o n o n d 9 @ u t i l i s a t e u r D g r o u p e D
a u t r e A F
E x e m p l e 2 . 5 :
v l P F I I d o n n n m l d l d m o
' o n ( n m n o l F
U t i l i s a t e u r G r o u p e A u t r e
E E E E
I I I I H I H H H
22 1 21 1 20 1 22 1 21 0 20 1 22 0 21 0 20 0U S H
T a b . P F I I ! E x e m p l e d ' a e c t a t i o n d ' u n m a s q u e e n o c t a l
n o n d l m d o o n d d D o
n D l o n l l 9 o n o o l 9 o n n d o
m d o o n o n F v o n l d n l
o m m n d 4 m o 4 o n d d n l l P F I P F
o n D l o m m n d 4 m o 4 n d n m d o o n
d X
` o o n l l b C ` m o n b o o n D
` o o n l l b E ` m o n b o m n F
P T F B a u d r y D s n o d o n U n i x ! R F H F I
8/4/2019 Introduction Unix et la programmation Shell
41/282
P F Q F o o n l (
e o n l
m o
n ( o n o m o n ( o n
n l
o n o
o o n
n l
n
n o n
T a b . P F I P ! A b r v i a t i o n s u t i l i s e s p a r l a c o m m a n d e " m o "
E x e m p l e 2 . 6 :
v m l d o n n d n l l P F I Q m o n n o m m n m o d E
( l o o n d 9 n ( o l l o n d j
' F
i m l n ( o n
C j o l d o d l D d 9
d 9 o n n d l 9 l E
F
C j o l d o d l d 9 E
o n n d o F
E l d o n n
d o F
o E o l o l E
l @ n l o D n n l E
d m m o A F
T a b . P F I Q ! E x e m p l e s d e m o d i c a t i o n s d e s p r o t e c t i o n s p a r r a p p o r t c e l l e s d j
a c t i v e s
R e m a r q u e 2 . 4 :
I l e s t p o s s i b l e d ' a v o i r d e s q u i v a l e n c e s e n t r e l e s d e u x f o n c t i o n n e -
m e n t s . P a r e x e m p l e , l e s d e u x c o m m a n d e s s u i v a n t e s s o n t q u i v a -
l e n t e s :
7 m o U S H
7 m o C C E o E
2 . 3 . 4 R e m a r q u e s s u r l e s p r o t e c t i o n s
o l o n l d n l m n d 9 d 9 n ( d o n
l n o n o 9 l n d F
o o n ( D m z l d o d 9 n (
n l o d n l l l o F
F B a u d r y D s n o d o n U n i x ! R F H F I P U
8/4/2019 Introduction Unix et la programmation Shell
42/282
g P F g o m m n d U n i x
2 . 4 L e s l t r e s
2 . 4 . 1 R a p p e l s , P r o p r i t s
R a p p e l :
n ( l n o m m n d d n ' n l d
l 9 n n d d n l o n d d F v ( P F R
n m o n l o n o n n m n F
F i g . P F R ! R a p p e l s u r l e s l t r e s
P r o p r i t s :
d D l ( l l n l n n d d 0 n l
l l o n d d F
n ( ( n m n D l 9 n n d d d
o m m n l E F 9 l n l D l o n m o
o l ( l d o n n n d d l l o n F
2 . 4 . 2 F i l t r e s d j v u s
v o m m n d 4 4 o n o n n o m m n ( l l l n 9 d 9 m n F
i l l l o n n n d d l 0 o n d d F v (
P F S n l l o n o n o n n m n F
F i g . P F S ! F o n c t i o n n e m e n t d e l a c o m m a n d e " "
R e m a r q u e 2 . 5 :
L a c o m m a n d e " m o " n ' e s t p a s u n l t r e . E l l e l i t l e s i n f o r m a t i o n s s u r
s o n e n t r e s t a n d a r d o u b i e n d a n s l e s c h i e r s p a s s s e n a r g u m e n t , e t
r e d i r i g e s u r l ' c r a n . E l l e f a i t a p p e l a u x i n f o r m a t i o n s q u e l e s y s t m e
P V F B a u d r y D s n o d o n U n i x ! R F H F I
8/4/2019 Introduction Unix et la programmation Shell
43/282
P F R F v ( l
c o n n a i t s u r l e t e r m i n a l p o u r c o n n a t r e s a t a i l l e , s o n m o d e d ' m u l a -
t i o n , e t c . . .
2 . 4 . 3 F i l t r e s o r t
S y n t a x e :
o E n E C n m o E m b E n m o E m
F F F
v ( l 4 o 4 m d l l n d @ d 9 o d l E
m l ` g b A n o l 9 n n d d l o n n n m l
d F
s l o l d d ( n n d m ( n d 9 '
d n z o n l F v X
! o n m m n n ( n l 9 o o n 4 E n 4 D
! o l o n l 9 o d e g s s n d d @ m o d d A D
! o l o n l 9 o d d ( n d n n d o n n l 9 o o n 4 E 4 F
v m o n d l m d n l o n o d o n l
l ( l 9 o o n E ` b F
v o m m n d o l o n n n d d D ' l 0 l
l o n d d F
g o m m l l d ( l D l o m m n d 4 o 4 d ( n
m n F 9 l o n l l n d o m m n d D 4 o 4 d o n
n n d d l o n n F s l l m n o l d n m
l n l n l m o l 4 C 4 d n m o d m F
R e m a r q u e 2 . 6 :
" o " n u m r o t e l e s c h a m p s p a r t i r d e z r o .
l o m m n d m l l o ' d m l D o d
l o m l D l n o n n o n n n d
o l o n n n F x o z X l n d l o m m n d
l l n o n n n F o l d n n m n D o n l z l m n l d
n 4 o @ I A 4 F
E x e m p l e 2 . 7 :
7 o E n X C P G G
7 l E | o
2 . 4 . 4 F i l t r e g r e p
S y n t a x e :
E n o n F F F
v ( l 4 4 l 9 o n o n n n d d
l 9 0 o n d d F g o n o l o d o n
F B a u d r y D s n o d o n U n i x ! R F H F I P W
8/4/2019 Introduction Unix et la programmation Shell
44/282
g P F g o m m n d U n i x
l U n i x @ F V A F h o n n l D o n ( n n d
F
v o o n l l o n d l o m m n d 4 4 o n X
! l 9 o o n 4 E 4 n d 4 4 9 l n n o m d m j E
l G m n l D
! l 9 o o n 4 E 4 n d 4 4 9 l 0 l l n n o n n n
l 9 o n n m n D
! l 9 o o n 4 E n 4 m d o 0 l n m o d l n o n F
g o m m l l d ( l D l o m m n d 4 4 d ( n
m n F 9 l o n l l n d o m m n d D 4 4 d o n
n n d d l o n n F
E x e m p l e 2 . 8 :
7 G G
7 l E l |
2 . 4 . 5 F i l t r e w c
S y n t a x e :
E l { F F F }
v ( l 4 4 l o n n n d d D o m l n o m d l n @ n E
m n ` g b A D l n o m d m o @ n m n
s p a c e o t a b A D l n o m d 0 l l o
n d