Tous les flux de données sont manipulés comme de simples fichiers : on utilisera par exemple la même commande pour lire un caractère au clavier, dans un fichier sur disque ou via une liaison réseau. Ceci simplifie grandement l'écriture des programmes et améliore leur réusabilité.
Pour la sortie, on utilisera la construction suivante :
ls > resultat
Dans ce cas, au lieu d'afficher sur l'écran, la commande ls va
créer un fichier nommé ici resultat et y écrire. Rien n'apparait
à l'écran (sauf s'il se produit une erreur).
Si l'on désire ne pas effacer l'ancien contenu du fichier, mais écrire
à sa fin, on peut utiliser >> :
ls >> resultats
Enfin, pour rediger l'entrée standard, on utilise < :
cat < UnFichier
Il est possible de rediriger l'entrée et la sortie en même temps :
cat < UnFichier > Resultat
Notons enfin qu'il existe un troisième flux standard, utilisé pour
l'écriture des messages d'erreur (nommé stderr en C, ou
cerr en C++). Il se redirige avec >&.
|. Les différentes commandes s'exécutent alors
en parallèle.
# affiche le contenu du repertoire trie a l'envers
ls | sort -r