{{tag>sysadmin shell gnu linux}} ====== Redirections des entrées/sorties standards ====== ===== Les entrées sorties standard ===== Lors de la création des processus des descripteurs standards sont associées a des périphériques d’entrée/sortie par défaut: * 0 entrée standard stdin associée au clavier. * 1 sortie standard stdout associée à l'écran. * 2 sortie erreur standard stderr associée a l'écran. ===== Redirection des sorties ===== $ commande 2>&1 >file.txt La redirection se fait en deux étapes: * La sortie d'erreur standard est redirigée sur le périphérique de sortie standard (écran) * La sortie standard est redirigée dans un fichier **Résultat**: le fichier contiendra seulement le résultat de la commande, les message d'erreurs seront affichés à l'écran. Le cas ci-dessous est différent: $ commande >file.txt 2>&1 * La sortie standard est redirigée dans un fichier file.txt * La sortie erreur standard est redirigée vers le périphérique fichier précédemment définit. **Résultat**: La sortie standard de la commande et la sortie erreur sont redirigées dans le fichier. ===== Le pipe ===== Le méta-caractère pipe '**|**' permet de rediriger la sortie standard d'une commande sur l'entrée standard d'une autre. On peut ainsi chaîner les traitements. Il faut donc: * Que toute commande à gauche du pipe produise une sortie sur stdout. * Que toute commande à droite du pipe lise en entrée sur stdin. Un filtre est une commande qui lit sur stdin et écrit sur stdout. # Un exemple de traitement via les pipes $ cat file.csv | uniq | cut -f 1 -d ','