Sommaire

Chaînes et flux

Jusqu’ici, les communications en entrée et en sortie des commandes (en particulier du shell) ont été qualifiées de chaînes de caractères. Pour être parfaitement exact, il faut plutôt parler de flux de données : une commande prend un flux de données en entrée et émet un flux de données en sortie. Bien souvent, ce flux de données est constitué de caractères lisibles (il peut alors être affiché sous la forme d’une chaîne de caractères), mais cela n’est pas obligatoire. Une commande de compression de fichier, par exemple, émettra un flux de données binaire, correspondant au fichier compressé.

En plus des arguments qu’elles acceptent lorsqu’elles sont exécutées, les commandes peuvent donc accepter un flux de données, afin de retourner un autre flux de données. La possibilité de connecter le flux de sortie d’une commande sur le flux d’entrée d’une autre est alors simple à imaginer ; c’est cette caractéristique qui permet de mettre en œuvre le principe KISS évoqué en introduction : on chaîne les commandes les unes derrière les autres.

1. Fichiers et pseudo-fichiers

Un fichier, stocké sur un disque, peut quant à lui être rapproché d’un flux de données qui serait « gelé » afin d’être ...