🌊Pipes et redirections
Dernière mise à jour
Dernière mise à jour
Les commandes UNIX bénéficient d'un système de communication inter-processus.
C'est à dire, une commande peut envoyer des résultats sur un flux, et ce flux peut -être lu, traité, transformé ou interprété par une commande suivante. On pourrait ainsi créer des enchaînements de commandes.
Il existe trois flux adressables :
standard in : un flux entrant
standard out : un flux sortant (avec les résultats)
standard err : un flux sortant (avec des erreurs)
Les données sortantes (stdout
) d’une commande peuvent être redirigées dans le stdin
d’une commande suivante :
On utilise le symbole
|
pour représenter les tuyaux entre les différentes commandes.
Et les deux extrémités de mon flux ?
Coté entrant, on pourrait lire des données du flux standard in. Selon la commande, on va lire automatiquement du standard in, ou bien préciser de lire de ce flux (au lieu d'un fichier) avec une option
Coté sortant, on affiche le texte résultant de notre enchaînement sur le standard out, qui dans notre cas est dans l'invite de commandes.
Qu’est-ce qui se passe si je tape grep "hello"
tout seul sur l’invite de commande ? Essayez !
Vous arrivez à expliquer ce qui se passe ?