Comment enchaîner des commandes et rediriger les flux dans le terminal Linux
Maîtrisez les opérateurs indispensables (|, >, >>, <, &&, ;, &) pour manipuler les sorties de commandes et automatiser vos tâches dans le terminal.
1. Introducción
Sous Linux, chaque commande utilise trois flux standards :
- stdin (0) : l'entrée standard (le clavier).
- stdout (1) : la sortie standard (l'affichage à l'écran).
- stderr (2) : la sortie d'erreur standard (les messages d'erreur).
Par défaut, le résultat d'une commande s'affiche directement dans votre terminal.
Ces opérateurs permettent de dévier ce résultat vers des fichiers texte, de transmettre les données directement d'une commande à l'autre, ou d'enchaîner plusieurs actions en une seule ligne.
2. Instalación y Configuración
1. Écraser ou créer un fichier avec >
Redirige la sortie d'une commande vers un fichier. Si le fichier existe déjà, son contenu est totalement remplacé :
echo "Première ligne de texte" > fichier.txt2. Ajouter à la fin d'un fichier avec >>
Ajoute le résultat à la fin du fichier sans effacer ce qui s'y trouve déjà :
echo "Deuxième ligne ajoutée" >> fichier.txt3. Transmettre le résultat d'une commande à une autre (pipe |)
Transmet la sortie de la première commande en entrée de la deuxième (exemple pour filtrer les paquets contenant le terme ssh) :
dpkg -l | grep ssh4. Injecter du texte multiligne avec << (Heredoc)
Écrit un bloc complet directement dans un fichier jusqu'au mot-clé d'arrêt (EOF) :
cat << EOF > configuration.conf
PORT=8080
DEBUG=false
EOF5. Enchaîner avec && (Exécution si succès)
Lance la commande suivante uniquement si la précédente a réussi :
sudo apt update && sudo apt upgrade -y6. Enchaîner avec ; (Exécution séquentielle)
Lance les commandes l'une après l'autre, quoi qu'il arrive :
mkdir mon_dossier ; cd mon_dossier7. Exécuter en arrière-plan avec &
Détache le processus pour garder la main immédiatement sur le terminal :
sleep 30 &3. Verificación y Buenas Prácticas
1. Vérifier le contenu du fichier créé
Contrôlez rapidement ce qui a été écrit dans votre fichier de sortie :
cat fichier.txtLe piège du simple > : Ne confondez jamais > (qui remplace l'intégralité du fichier) et >> (qui ajoute à la fin). Utiliser > sur un fichier de configuration système important supprime tout son contenu d'origine.
Masquer les messages d'erreur : Vous pouvez rediriger les erreurs d'une commande vers le « trou noir » de Linux pour garder un affichage propre avec 2> /dev/null.