TP n°2 : Les flux de redirection et les pipes I. Les flux de redirection 1) Red
TP n°2 : Les flux de redirection et les pipes I. Les flux de redirection 1) Rediriger le résultat dans un fichier : > et >> Il s’agit d’écrire le résultat d'une commande dans un fichier, au lieu de l'afficher dans la console. a) Rediriger la sortie d’une commande dans un nouveau fichier : > Le chevron > permet d’envoyer le résultat d’une commande dans un nouveau fichier : si le fichier existait déjà il sera écrasé sans demande de confirmation. b) Rediriger la sortie d’une commande à la fin d’un fichier : >> Le double chevron >> sert lui aussi à rediriger le résultat dans un fichier, mais cette fois à la fin de ce fichier : si le fichier existe déjà, il ne sera pas écrasé. Si le fichier n'existe pas, il sera créé automatiquement. 2) Rediriger les erreurs : 2>, 2>> et 2>&1 Toutes les commandes peuvent produire deux flux de données différents: o la sortie standard : pour tous les messages (sauf les erreurs) ; o la sortie d'erreurs : pour toutes les erreurs. a) Rediriger les erreurs dans un fichier à part : 2> Enregistrement des erreurs dans un fichier à part pour ne pas les oublier et pour pouvoir les analyser ensuite en utilisant l’opérateur 2>. b) Ajouter les erreurs à la fin de fichier : 2>> On peut ajouter les erreurs à la fin du fichier grâce à l’opérateur 2>>. c) Fusionner les sorties : 2>&1 Il est possible de fusionner les sorties (résultat et erreurs) dans un seul fichier sans faire de séparation grâce à l’opérateur 2>&1. En faite, le symbole 2>&1 va envoyer les erreurs dans le même fichier et de la même façon que la sortie standard. 1/3 Module : Système d’Exploitation 1 | Spécialité : SI | Semestre2 | A.U :2022-2023 3) Lire depuis un fichier ou le clavier : < et << Jusqu’à maintenant, nous avons redirigé uniquement la sortie des commandes : c'est-à-dire envoyé les messages issus de ces commandes. Dans cette parti, nous allons faire l'inverse, c'est-à-dire de décider d'où vient l'entrée d'une commande. Elle peut venir d'un fichier ou d'une saisie au clavier. a) Lire depuis un fichier : < Le chevron ouvrant < permet d'indiquer d'où vient l'entrée qu'on envoie à la commande. b) Lire depuis un clavier progressivement : << Le double chevron ouvrant << fait quelque chose d'assez différent : il vous permet d'envoyer un contenu à une commande avec votre clavier. II. Les pipes (=tubes) : | Redirige la sortie d'une commande vers l'entrée d'une autre commande. Il s'agit donc d'une chaîne de redirection entre deux processus qui ne passe pas par un fichier, mais par une zone mémoire du système. III. Exercices Exercice 1 1. Créer un répertoire nommé « Redirection » dans votre dossier personnel. 2. Accéder à ce répertoire et créer un fichier nommé « notes.csv ». 3. Ecrire le texte suivant dans ce fichier : Mohamed,18/20,Excellent Ahmed,3/20,Nul Imen,14/20,Bien Fatma,9/20,moyen Adem,11/20,Passable 4. Extraire tout ce qui se trouvait avant la première virgule afin d'avoir la liste des noms de tous les élèves présents dans ce fichier et afficher le résultat dans un nouveau fichier nommé « elevest.txt », puis vérifier l’extraction. 5. Extraire tout ce qui se trouvait après la dernière virgule afin d'avoir la liste des commentaires de tous les élèves présents dans ce fichier et afficher le résultat dans le fichier « elevest.txt » sans écraser le résultat précédent, vérifier l’extraction. 6. Exécuter la ligne suivante dans votre console, puis commentez le résultat obtenu. cut -d , -f 1 fichier_inexistant.csv > eleves.txt 2 > erreurs.log 2/3 Module : Système d’Exploitation 1 | Spécialité : SI | Semestre2 | A.U :2022-2023 7. Exécuter la ligne suivante dans votre console, puis commentez le résultat obtenu. cut -d , -f 1 fichier.txt > eleves.txt 2 >> erreurs.log 8. Exécuter la ligne suivante dans votre console, puis commentez le résultat obtenu. cut -d , -f 1 fichier_inexistant.csv > eleves.txt 2 >&1 9. Ouvrez le fichier « eleves.txt » avec l’éditeur de texte « gedit », écrivez du texte dedans, sauvegarder et fermer le fichier. Taper la ligne suivante dans la console : cut -d , -f 1 fichier_inexistant.csv >> eleves.txt 2 >&1 En ouvrant le fichier eleves.txt, qu’est-ce que vous avez remarqué ? Exercice 2 Quelle est la différence entre les deux écritures suivantes : cat notes.csv et cat < notes.csv. Exercice 3 1. Taper la commande suivante dans la console : sort -n << FIN et interpréter le résultat affiché. 2. Envoyer les nombres saisis au clavier à un fichier nommé trie.txt, de même que les erreurs éventuelles. 3. Lire une chaine de caractère à partir du clavier puis compter le nombre de caractère dans cette chaine : Exercice 4 Que fait la commande suivante ? grep log -Ir /var/log | cut -d : -f 1 | sort | uniq 3/3 Module : Système d’Exploitation 1 | Spécialité : SI | Semestre2 | A.U :2022-2023 uploads/Industriel/ tp-n02-les-flux-de-redirection-et-les-pipes-i-les-flux-de-redirection.pdf
Documents similaires










-
32
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 21, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.1926MB