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

Notes perso :

> : Redirige la sortie de A dans le fichier B
2> : Redirige l'erreur de A dans le fichier B 




(1 correspond aux erreurs, 2 aux sorties et 0 aux entrées)