Les tubes de communication
Un tube
de communication est un flot de données qui permet de relier la sortie
standard d'une commande à l'entrée standard d'une autre commande
sans passer par un fichier temporaire
exemples
-
ls -l | more affiche page par page
le résultat de la commande ls
-
last | grep coupey | head affiche les
dix dernières connexions sur la machine de l'utilisateur coupey
-
ls -l | grep "rwxr-xr-x" | more affiche page
par page la liste des fichiers qui ont les droits rwxr-xr-x. Cette commande
donne le même résultat que
ls
-l > temp1; grep "rwxr-xr-x" < temp1 > temp2; more temp2; rm temp1
temp2
Avantages
des tubes
- Toutes les commandes liées
par le tube s'exécutent en parallèle. Par exemple, dans la commande
ls -l | more la commande
more récupère, au fur et à mesure, les lignes
produites par la commande ls alors que dans
la commande ls -l > toto; more toto , la
commande more n'affichera toto que lorsque le
ls sera terminé.
- Il n'y a pas de limite
de taille pour le flot de données qui transite dans le tube (car il
n'y a pas de fichier temporaire)
suivant
plan