Fiche de révision : Éléments du shell Bourne

Plan du Cours

  1. Rôle des métacaractères
  2. Jokers et modèles de fichiers
  3. Quotage et interprétation
  4. Unités standard et filtres
  5. Redirection des entrées
  6. Redirection des sorties
  7. Pipelines et capture
  8. Redirection des erreurs

1. Rôle des métacaractères

★ À maîtriser

  • Les métacaractères du shell servent à construire des listes de noms de fichiers et à modifier l’interprétation des commandes.

  • Le shell interprète les métacaractères avant d’exécuter la commande et transmet à celle-ci les résultats de cette interprétation.

Compléments

  • Le point-virgule sépare plusieurs commandes placées sur une même ligne.

2. Jokers et modèles de fichiers

Notions clés & Définitions

  • Caractères génériques : Construisent des listes de noms de fichiers correspondant à un modèle.

★ À maîtriser

📌 Le caractère * désigne une chaîne quelconque, éventuellement vide, qui ne contient pas / et qui ne commence pas par . lorsque * est placé au début du modèle.

📌 Le caractère ? désigne un caractère quelconque, sauf / ou . lorsque ? est situé au début du modèle.

Compléments

  • La notation [liste_caractères] désigne un caractère défini par énumération, intervalle avec -, ou négation avec ! placé après le crochet ouvrant, comme [Aa], [0-9a-zA-Z] et [!0-9].

Astuce mémo

Visualiser un modèle qui se transforme en liste de fichiers avant l’exécution.

3. Quotage et interprétation

★ À maîtriser

📌 Le caractère $ retourne la valeur de la variable qui le suit sans espace et joue aussi un rôle particulier pour les paramètres d’un shell.

📌 Une chaîne entre apostrophes conserve les espaces et neutralise tous les métacaractères, tandis qu’une chaîne entre guillemets conserve les espaces mais laisse actifs `, $ et \ .

Compléments

📌 Le caractère \ protège le caractère qui le suit, sauf à l’intérieur d’une chaîne entre apostrophes.

📌 Le caractère & placé après une commande lance celle-ci en arrière-plan, tandis que & suivi d’un chiffre désigne une unité standard lors d’une redirection.

Astuce mémo

Guillemets simples = tout protéger ; guillemets doubles = laisser passer `, $ et \

4. Unités standard et filtres

Notions clés & Définitions

  • Unités standard : Les trois unités standard d’un processus sont stdin, l’entrée standard par défaut reliée au clavier, stdout, la sortie standard par défaut reliée à l’écran, et stderr, la sortie standard des erreurs par défaut reliée à l’écran.
  • Filtres : Commandes qui peuvent recevoir des données par stdin et fournir des résultats ou des messages par stdout et stderr.

Points essentiels

  • Les commandes de filtre citées ont les rôles suivants: echo affiche ses paramètres sur stdout, cat affiche le contenu des fichiers ou de stdin sans paramètre, grep affiche les lignes contenant une chaîne, wc -l affiche le nombre de lignes

Astuce mémo

Trois tuyaux relient clavier, écran et écran d’erreurs aux filtres.

5. Redirection des entrées

★ À maîtriser

  • Une commande peut recevoir son entrée interactive au clavier jusqu’à la fin de fichier signalée par Ctrl-D, ou au moyen d’un document délimité par << séparateur.

📌 La redirection commande < désignation_fichier connecte l’entrée standard de la commande au fichier ouvert en lecture.

Compléments

  • La commande grep 'e' < fich_entree.txt affiche les lignes de fich_entree.txt qui contiennent au moins un caractère e.

Astuce mémo

Clavier → Ctrl-D ou séparateur → fichier avec <.

6. Redirection des sorties

★ À maîtriser

📌 La redirection commande > désignation_fichier connecte stdout au fichier, en le créant s’il n’existe pas et en écrasant son contenu s’il existe.

📌 La redirection commande >> désignation_fichier connecte stdout au fichier en ajoutant la sortie à sa fin, après création éventuelle du fichier.

Compléments

📌 La redirection commande >&2 connecte stdout à stderr pour afficher la sortie comme un message d’erreur.

Astuce mémo

écrase, >> ajoute, >&2 envoie les messages vers stderr.

7. Pipelines et capture

Notions clés & Définitions

  • Substitution de commande : Écriture commande ou $(commande) qui transforme stdout de la commande en une chaîne dont les sauts de ligne deviennent des espaces, utilisable comme commande ou paramètre.

Points essentiels

  • Dans commande1 | commande2, stdout de commande1 est connecté à stdin de commande2 afin d’enchaîner les commandes.

  • La commande cat fich.txt | grep 'e' | grep '2' | wc -l affiche le nombre de lignes de fich.txt contenant au moins un e et au moins un 2.

Astuce mémo

commande1 → pipe → commande2 ; capture → paramètres.

8. Redirection des erreurs

★ À maîtriser

📌 La redirection commande 2> désignation_fichier connecte stderr au fichier, qui est créé si nécessaire et reçoit les messages d’erreur.

📌 Dans ls -l fichier.txt > informations.txt 2>&1, stdout et stderr vont dans informations.txt, tandis que dans ls -l fichier.txt 2>&1 > informations.txt, stderr reste dirigée vers la destination précédente de stdout.

Compléments

📌 La redirection commande 2>> désignation_fichier ajoute stderr à la fin du fichier, après création éventuelle de celui-ci.

  • La séquence 2> /dev/null envoie les erreurs vers un fichier poubelle dont le contenu est définitivement perdu.

Astuce mémo

2> fichier → erreurs stockées ; 2>&1 → erreurs fusionnées avec stdout.

Tableaux de synthèse

Principales redirections

SyntaxeUnité concernéeEffet
> fichierstdoutCrée ou écrase le fichier
>> fichierstdoutAjoute en fin de fichier
< fichierstdinLit dans le fichier
2> fichierstderrCrée ou écrase le fichier d’erreurs
2>> fichierstderrAjoute les erreurs
2>&1stderrDirige les erreurs vers stdout

Teste tes connaissances

Teste tes connaissances sur Éléments du shell Bourne avec 19 questions à choix multiples et corrections détaillées.

1. Quelle association décrit correctement les trois unités standard d’un processus ?

2. Que produit la substitution de commande `$(commande)` lorsqu’elle est utilisée dans une autre commande ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Éléments du shell Bourne avec 39 flashcards interactives.

À quoi servent les métacaractères du shell ?

À construire des listes de noms de fichiers et modifier l’interprétation des commandes.

Quand le shell interprète-t-il les métacaractères ?

Avant d’exécuter la commande.

Que transmet le shell à la commande après interprétation des métacaractères ?

Les résultats de cette interprétation.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches