🌊Pipes et redirections

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 :

cat test.txt | grep "hello" | wc -l

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 ?

Mis Ă  jour