La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D., ing. Chapitre 5 Interpréteur de commande, Bourne shell,

Présentations similaires


Présentation au sujet: "1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D., ing. Chapitre 5 Interpréteur de commande, Bourne shell,"— Transcription de la présentation:

1 1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D., ing. Chapitre 5 Interpréteur de commande, Bourne shell, E/S standard, tuyaux séparation et regroupement des commandes

2 2 Interpréteur de commandes Bourne shell: créé par Steve Bourne;créé par Steve Bourne; interpréteur par défaut de nombreux système UNIX.interpréteur par défaut de nombreux système UNIX. Pourquoi utiliser le Bourne shell? plus ancien et plus répandu;plus ancien et plus répandu; très utilisé parmi les gestionnaires de systèmes et les développeurs de logiciels.très utilisé parmi les gestionnaires de systèmes et les développeurs de logiciels. Interpréteur de commande

3 3 Comment linterpréteur traite-t-il une ligne de commande? Comment linterpréteur traite-t-il une ligne de commande? Interpréteur de commande Pour invoquer linterpréteur Bourne shell donner la commande sh(1)

4 4 Entrée-sortie standard Entrée standard normalement attachée à lécran. Entrée standard normalement attachée à lécran. possède le numéro de descripteur 0.possède le numéro de descripteur 0. Sortie standard normalement attachée au clavier. Sortie standard normalement attachée au clavier. possède le numéro de descripteur 1.possède le numéro de descripteur 1. Erreur standard normalement attachée à lécran. Erreur standard normalement attachée à lécran. possède le numéro de descripteur 2.possède le numéro de descripteur 2. Interpréteur de commande

5 5 Entrée-sortie standard Il est possible de rediriger les entrées- sorties standards à des fichiers ou à dautres programmes et commandes. Il est possible de rediriger les entrées- sorties standards à des fichiers ou à dautres programmes et commandes. Redirection de lentrée standard Redirection de lentrée standard cat < NomFichier cat < NomFichier Démonstration de la procédure Démonstration de la procédure Interpréteur de commandeCommande Redirection de lentrée standard à un fichier. Lentrée de la commande cat(1) est le fichier NomFichier

6 6 Entrée-sortie standard Redirection de la sortie standard Redirection de la sortie standard cat > NomFichiercat > NomFichier Redirection de lentrée et de la sortie standard Redirection de lentrée et de la sortie standard cat FichierSortiecat FichierSortie Interpréteur de commande Démonstration de la procédure Démonstration de la procédureCommande Redirection de la sortie standard à un fichier. La sortie de la commande cat(1) est enregistré dans le fichier NomFichier

7 7 Entrée-sortie standard Effet de la redirection: Effet de la redirection: Interpréteur de commande

8 8 Entrée-sortie standard Rediriger la sortie vers un fichier écrase le contenu du fichier de sortie. Rediriger la sortie vers un fichier écrase le contenu du fichier de sortie. Utiliser la concaténation pour préserver le contenu du fichier de sortie: Utiliser la concaténation pour préserver le contenu du fichier de sortie: cat > FichierSortiecat > FichierSortie Démonstration de la procédure Démonstration de la procédure Interpréteur de commande La sortie de la commande cat est ajoutée à la fin du fichier FichierSortie

9 9 Entrée-sortie standard Rediriger lerreur standard implique une syntaxe un peu différente. Rediriger lerreur standard implique une syntaxe un peu différente. Utilisation des numéros de descripteur. Utilisation des numéros de descripteur. commande < FichierEntree commande < FichierEntree commande <0 FichierEntree commande <0 FichierEntree commande > FichierSortie commande > FichierSortie commande 1> FichierSortie commande 1> FichierSortie commande 2> FichierErreur commande 2> FichierErreur Interpréteur de commandeÉquivalente Équivalente Redirection de lerreur standard

10 10 Entrée-sortie standard cat sortie.txt 2> erreur.txt cat sortie.txt 2> erreur.txt cat > sortie.txt 2>&1 cat > sortie.txt 2>&1 Démonstration de la procédure Démonstration de la procédure Interpréteur de commande Les messages d erreur de la commande cat seront enregistrés dans ce fichier La sortie de cat est enregistrée dans le fichier sortie.txt. L erreur standard est redirigée à la sortie standard. Donc, lerreur standard est également redirigée au fichier sortie.txt.

11 11 Tuyaux Tuyaux brancher la sortie standard dune commande à lentrée standard dune autre commande. Tuyaux brancher la sortie standard dune commande à lentrée standard dune autre commande. Interpréteur de commande

12 12 Tuyaux ls -lR | more ls -lR | more La sortie de la commande ls est lentrée de la commande more. La sortie de la commande ls est lentrée de la commande more. cat document.txt | tr abc ABC > traduit.txt cat document.txt | tr abc ABC > traduit.txt Interpréteur de commandeTuyau tr (translate) remplace le caractère a par A, b par B et c par C. La sortie de tr est enregistrée dans le fichier traduit.txt

13 13 Exécution arrière-plan Toutes les commandes vues jusquà présent sont exécutées en avant-plan. Toutes les commandes vues jusquà présent sont exécutées en avant-plan. Monopolisent le terminal. Monopolisent le terminal. Ne convient pas à des tâches de longue durée. Ne convient pas à des tâches de longue durée. Lancer les commandes en arrière-plan: Lancer les commandes en arrière-plan: commande [-options] [paramètre] &commande [-options] [paramètre] & Interpréteur de commande Symbole indiquant une exécution en arrière-plan dune commande

14 14 Exécution arrière-plan Exemple: Exemple: cat passwd.dat | sort > sortie.txt & cat passwd.dat | sort > sortie.txt & Attention aux entrées-sorties des commandes exécutées en arrière-plan !!! Attention aux entrées-sorties des commandes exécutées en arrière-plan !!! Interpréteur de commande Laquelle des commandes sera-t-elle exécutée en arrière-plan ? Démonstration de la procédure Démonstration de la procédure

15 15 Regroupement des commandes Exécution séquentielle dune ligne de commandes: Exécution séquentielle dune ligne de commandes: cmd1 ; cmd2 ; cmd3cmd1 ; cmd2 ; cmd3 Exécution séquentielle dune ligne de commandes par regroupement: Exécution séquentielle dune ligne de commandes par regroupement: (cmd1 ; cmd2) ; cmd3(cmd1 ; cmd2) ; cmd3 (cmd1 ; cmd2) & cmd3(cmd1 ; cmd2) & cmd3 Interpréteur de commande Commandes regroupés sont exécutées dans un interpréteur enfant (subshell). Plusieurs combinaisons sont possibles

16 16 Regroupement des commandes Exemple: Exemple: Démonstration de la procédure Démonstration de la procédure Interpréteur de commande Quelle sera la sortie de ces deux commandes ? Commandes entre parenthèses sont exécutées par un interpréteur enfant.

17 17 Regroupement des commandes Explication de lexemple précédent: Explication de lexemple précédent: pwd affiche le nom du répertoire courant. pwd affiche le nom du répertoire courant. (cd..; pwd; cp user.txt test.txt; ls -l test.txt) (cd..; pwd; cp user.txt test.txt; ls -l test.txt) pwd revient à linterpréteur père et affiche le nom du répertoire courant. pwd revient à linterpréteur père et affiche le nom du répertoire courant. Interpréteur de commande Remonter vers le répertoire parent Affiche le nom du répertoire courant Copier le fichier user.txt vers le fichier test.txt Montrer que le fichier a été copié Toutes ces commandes sont exécutées dans un interpréteur enfant

18 18 Regroupement des commandes Explication de lexemple précédent (suite): Explication de lexemple précédent (suite): Interpréteur de commande

19 19 Fichiers de commande Conditions dun fichier de commande: Conditions dun fichier de commande: contient des commandes et instructions légales de Bourne shell;contient des commandes et instructions légales de Bourne shell; fichier est lisible et/ou exécutable par le Bourne shell.fichier est lisible et/ou exécutable par le Bourne shell. Exécution dun fichier de commande: Exécution dun fichier de commande: sh FichierCommandesh FichierCommande contient à la première ligne du fichier la directive: #!/bin/shcontient à la première ligne du fichier la directive: #!/bin/sh Interpréteur de commande Démonstration de la procédure Démonstration de la procédure

20 20 Variables de linterpréteur Variables prédéfinies: Variables prédéfinies: Interpréteur de commande

21 21 Variables de linterpréteur Interpréteur de commande Variables prédéfinies (suite): Variables prédéfinies (suite):

22 22 Variables de linterpréteur Réglage des variables: Réglage des variables: var=valeurvar=valeur TOTO="Bonjour les SEPSistes"TOTO="Bonjour les SEPSistes" Allo="$TOTO du cours GPA435"Allo="$TOTO du cours GPA435" Explication: Explication: Interpréteur de commande

23 23 Variables de linterpréteur Éliminer une variable de lenvironnement: Éliminer une variable de lenvironnement: unset NomVariableunset NomVariable Voir le contenu dun variable: Voir le contenu dun variable: echo $NomVariableecho $NomVariable Voir le contenu de toutes les variables denvironnement: Voir le contenu de toutes les variables denvironnement: set(1)set(1) Interpréteur de commande

24 24 Variables de linterpréteur Transmettre une variable à un interpréteur enfant: Transmettre une variable à un interpréteur enfant: export(1)export(1) Exemple dexportation dune variable: Exemple dexportation dune variable: Interpréteur de commande Variable REPERTOIRE nest pas exportée et elle nest pas disponible dans les interpréteurs enfants.

25 25 Variables de linterpréteur Interpréteur de commande Exemple dexportation dune variable: Exemple dexportation dune variable: Variable REPERTOIRE est exportée et elle est disponible dans les interpréteurs enfants. Fin du chapitre 5


Télécharger ppt "1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D., ing. Chapitre 5 Interpréteur de commande, Bourne shell,"

Présentations similaires


Annonces Google