2024-09-10 16:28:10 +02:00
|
|
|
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
|
2024-09-17 15:30:55 +02:00
|
|
|
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
|