Redirections de flux

Objectif : Comprendre le fonctionnement des flux standard (entrée, sortie, erreur) et savoir les rediriger pour automatiser les traitements.

Redirections de flux

Les flux standards

Sous Linux, chaque programme échange des données via des flux :

  • stdin (0) : entrée standard (par défaut le clavier)
  • stdout (1) : sortie standard (par défaut l’écran)
  • stderr (2) : sortie d’erreur (par défaut l’écran aussi)
[clavier] -> stdin -> [programme] -> stdout -> [écran]
                                   -> stderr -> [écran]
Redirections de flux

Rediriger la sortie standard

> : redirige la sortie vers un fichier (écrase le contenu existant)

echo "Bonjour" > message.txt

>> : ajoute à la fin d’un fichier sans l’écraser

echo "Encore un message" >> message.txt
Redirections de flux

Rediriger l’entrée standard

< : lit les données à partir d’un fichier au lieu du clavier

sort < noms.txt

Cela permet d’automatiser des commandes qui attendent des données saisies à la main.

Redirections de flux

Rediriger les erreurs

2> : redirige les erreurs vers un fichier

ls /dossier/inexistant 2> erreurs.log

2>&1 : fusionne la sortie standard et les erreurs dans le même fichier

commande > tout.log 2>&1
Redirections de flux

Les tubes (pipes)

Le pipe (|) envoie la sortie d’une commande dans l’entrée d’une autre :

cat fichier.txt | grep "mot" | sort
[cat] → [grep] → [sort] → [écran]
Redirections de flux

Exemple combiné

On redirige les erreurs et on filtre les résultats :

find /etc -type f 2>/dev/null | grep "hosts"

Explication :

  • find cherche tous les fichiers
  • 2>/dev/null ignore les erreurs d’accès
  • grep filtre les fichiers contenant "hosts"
Redirections de flux

La commande tee

Afficher et enregistrer la sortie en même temps :

ls | tee fichiers.txt
[ls] → [tee] → (écran + fichiers.txt)
Redirections de flux

En résumé

  • > et >> : redirection de sortie
  • < : redirection d’entrée
  • 2> : redirection d’erreurs
  • | : enchaînement de commandes
  • tee : afficher et enregistrer à la fois
Redirections de flux