Introduction à Unix et à la programmation Shell

download Introduction à Unix et à la programmation Shell

of 282

Transcript of Introduction à Unix et à la programmation Shell

  • 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