I. Quelques formes de lignes de commandes Forme simple: 1. La commande echo affiche le texte donné dans le terminal 2. Affiche "Hello world" 3. Affiche le code de sortie de la commande précédente : 0 4. Liste fi 5. Affiche le code de sortie de la commande précédente : 0 6. Liste fi en précisant ses autorisations 7. Affiche le code de sortie de la commande précédente : 0 8. Ne peut pas lister nofi car le fichier/répertoire n'existe pas 9. Affiche le code de sortie de la commande précédente : 2 Pipeline: 1. Hello world2! 2. Hello world1! APRES CORRECTION : Le pipe redirige la sortie de la première commande vers l'entrée de la deuxième. ex : ls -l | wc Le caractère | semble n'éxecuter que la commande à droite du caractère Liste: 1. Le caractère ; exécute les 2 commandes à la suite 2. Renvoie 0 car fi existe et peut être listé 3. Renvoie 2 car nofi n'existe pas 4. Renvoie 0 car fi existe et peut être listé puis affiche le texte demandé 5. Renvoie 2 car nofi n'existe pas ET n'affiche pas le texte après le && 6. Renvoie 0 car fi existe et peut être listé puis affiche le texte demandé 7. Renvoie 0 même si nofi n'existe pas mais affiche quand même le texte après le || 8. Renvoie 0 même si nofi n'existe pas mais liste quand même le fichier fi 9. Renvoie 0 et ne liste que fi alors que nofi n'existe pas 10. Renvoie 2 car nofi n'existe pas On remarque que && semble être un "Et" logique, qui exécute les commandes et s'arrête si jamais une erreur se produit, même sans avoir exécuté la deuxième commande. On remarque que || semble être un "Ou" exclusif, qui exécute les commandes jusqu'à ce que l'une d'elles finisse sans problème. II. Redirections des entrées/sorties 1. Liste les 2 fichiers l'un après l'autre même en cas d'erreur 2. S'arrête à l'erreur et crée un fichier output_file 3. Le fichier output_file contient fi. Il semble contenir le résultat d'une commande en dehors de ses erreurs 4. et 5. La commande produit une erreur et le fichier output_file est vide, ce qui confirme la théorie citée à la commande précédente : > ajoute le résultat d'une commande au fichier dont on donne le nom après le symbole. 6. Erreur car nofifi n'existe pas, mais a sûrement ajouté fifi dans output_file 7. Confirme la théorie de la commande précédente 8. Erreur car nofifi n'existe pas 9. Le fichier a conservé la valeur qu'il avait précédemment, ce qui signifie que la commande >> modifie le fichier exclusivement si celle-ci ne renvoie pas rien 10. Affiche fi sans aucune erreur 11. Affiche le contenu de l'erreur de la commande précédente car nofi n'existe pas 12. Affiche fi sans aucune erreur 13. Affiche le contenu de l'erreur de la commande précédente car nofifi n'existe pas (On remarque donc que l'ordre n'a pas d'importance et que le fichier s'update à chaque commande) 14. Affiche fi sans aucune erreur (mélange sûrement les effets de 2> et de >>) 15. On remarque que la redirection rajoute l'erreur dans le fichier spécifié SANS supprimer les erreurs précedentes. La redirection 2> rajoute une erreur dans un fichier spécifié. 16. N'affiche rien 17. et 18. Affiche la sortie et l'erreur de la commande précédente 19. et 20. 21. wc permet de compter le nombre de caractères, de mots et de lignes entrées après éxecution de la commande. 22. On obtient bien le nombre correct de caractères/lignes/mots 23. et 24. Liste les caractères/lignes/mots du fichier, la 2e commande n'affiche pas le nom du fichier 25. On a listé tous les éléments de /etc/ en détail pour les mettre dans un fichier output_file 26. On a compté les caractères/mots/lignes du fichier output_file 27. ls -l /etc/ > output_file && wc < output_file