# 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.

<figure><img src="/files/Khe2nzYfs6vlJIKGPdkx" alt=""><figcaption></figcaption></figure>

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 :

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

<figure><img src="/files/QC0YpI2ubN2aPWMcRrPk" alt=""><figcaption></figcaption></figure>

> 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.

<figure><img src="/files/oVfQts9KsgbsRwtSEfrx" alt=""><figcaption></figcaption></figure>

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 ?


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.glassworks.tech/unix-shell/pipes-et-redirections/110-pipes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
