Sous Unix/Linux, un programme fonctionnant en mode texte utilise trois canaux principaux pour interagir avec l'utilisateur ou d'autres programmes.
stdin). C'est sur son entrée standard qu'il lira les données à traiter. Par défaut, l'entrée standard est le clavier.
stdout). Par défaut, la sortie standard correspond à l'écran (sous X11?, ce sera typiquement le terminal dans lequel le programme a été lancé).
stderr). Par défaut, cette sortie correspond également à l'écran.
Une des forces de Unix est qu'il est facile de rediriger les entrées/sorties et de combiner des programmes entre eux.
>
date > /tmp/madate.txt : écrit la date actuelle dans le fichier /tmp/madata.txt et le créée si nécessaire. Si le fichier /tmp/madate.txt existait déjà, il est écrasé.
>>
date >> /tmp/madate.txt : écrit la date actuelle dans le fichier à la suite du fichier /tmp/madata.txt. Si le fichier n'existait pas, il est créé.
sed -e "s/Sep/Septembre/" < ladate : utilise le fichier ladate comme entrée standard
sed -e "s/Sep/Septembre/" < ladate >> lanouvelledate
cat /scrountch 2> msgerreur
cat /scrountch > msg 2>&1
|
date | sed -e "s/Sep/Septembre/" : sed utilise comme entrée standard la sortie standard de la commande date
cat /tmp/t | sort | uniq | grep toto