I: Forme simple: 1. echo -> Affiche quelque chose dans le terminal 2. echo "Hello World" -> Affiche Hello World (sans les guillemets) 3. echo "$?" -> Affiche 0 4. ls fi -> Affiche le contenue de fi (étant donner qu'il est vide ça n'affiche rien) 5. echo "$?" -> Affiche 0 6. ls -l fi -> affiche total 0 7.e cho "$?" -> Affiche 0 8. ls nofi -> ls: cannot access 'nofi': No such file or directory 9. echo "$?" -> Affiche 2 (C'est le code erreur 2 de la commande ls) Pipeline : 1.echo "Hello world1!" | echo "Hello world2!" -> Affiche Hello world2! -> POURQUOI ? jsp 2.echo "Hello world2!" | echo "Hello world1!" -> Affiche Hello world1! -> POURQUOI ? jsp Liste : (\n = saut de ligne dans le terminal) 2.ls fi ; echo "$?" -> 0 3. ls nofi ; echo "$?" -> 2 4.ls fi && echo "Hello world!" ; echo "$?" -> Hello world! \n 0 5.ls nofi && echo "Hello world!" ; echo "$?" -> ls: cannot access 'nofi': No such file or directory \n 2 6. ls fi || echo "Hello world!" ; echo "$?" -> 0 7.ls nofi || echo "Hello world!" ; echo "$?" -> ls: cannot access 'nofi': No such file or directory \n Hello world! \n 0 8.ls nofi || ls fi ; echo "$?" -> ls: cannot access 'nofi': No such file or directory \n 0 9.ls fi || ls nofi ; echo "$?" -> 0 10.ls nofi && ls fi ; echo "$?" -> ls: cannot access 'nofi': No such file or directory \n 2 II. ligne_de_commandes > un_fichier signifie que la sortie standard des résultats de ligne_de_commande a été redirigée vers le fichier un_fichier : les résultats ne seront pas affichés à l'écran mais sont écrits dans le fichier un_fichier. Le fichier est créé s'il n'existe pas. S'il existe, il sera réinitialisé : sa taille est remise à 0. ligne_de_commandes >> un_fichier même chose que > sauf que le fichier un_fichier n'est pas réinitialisé s'il existe déjà : les résultats sont ajoutés en fin de fichier. ligne_de_commandes 2> un_fichier signifie que la sortie standard des erreurs de ligne_de_commandes a été redirigée vers le fichier un_fichier : les erreurs ne sont pas affichées à l'écran, mais sont écrites dans le fichier un_fichier. le fichier est créé s'il n'existe pas. S'il existe, il sera réinitialisé. ligne_de_commandes 2>> un_fichier même chose que 2> sauf que le fichier un_fichier n'est pas réinitialisé s'il existe déjà : les erreurs sont ajoutés en fin de fichier. 1.ls nofi fi -> cela nous donne une erreur 2.ls nofi fi > output_file ->permet de mettre les message d'erreur dans output-file et écrase ce qu'il y a déjà dans le fichier. 3.cat output_file permet d'afficher le contenues de output_file mais cela marche pas car le output-file n'acceuil pas les message d'erreur. output_file permet d'acceuillir les outputs des commandes (les message réussis) 4.ls nofi > output_file -> voir question 2 5.cat output_file -> voir question 3 6.ls fifi nofifi > output_file voir question 2 7.cat output_file voir question 3 8.ls nofi >> output_file permet de mettre les message d'erreur dans un fichier mais ne l'écrase pas. Mais cela marche pas car le output-file n'acceuil pas les message d'erreur. 9.cat output_file voir question 3 10.ls nofi fi 2> error_file permet de mettre les messages d'erreurs de la sortie d'erreur standard. 11.cat error_file permet d'afficher le contenue d'error_file qui contient les messages d'erreurs. 12.ls fi nofifi 2> error_file voir question 10 13.cat error_file voir question 11 14. 15. 16. 17. 18 19. 20. 21. affiche le nombre de lignes/mots/caractères d'un texte écrit ou d'un fichier ou bien d'une rentrée/sortie de commande 22.on obtiens le nombre de lignes/mots/caractères tapé précedemment. 23. 24. 25. 26. 27. ls -l /etc/ > output_file && wc < output_file on lie les deux commandes pour les exécutées. ls -l /etc/ | wc Les opérateurs : A;B -> Execute A et execute ensuite B A|B -> Execute A et prend le resultat de A en entrer pour B A&&B -> Execute A, si code retour de A (?) = 0 alors executer B A||B -> Execute A, si code retour de A (?) > 0 (= A est en erreur) alors executer B