Bash De Manutention Des Tubes

Personne ne sait comment bash gère l'envoi de données à l'aide de tuyaux?

cat file.txt | tail -20

N'cette commande imprimer tout le contenu de file.txt dans un tampon, qui est ensuite lu par la queue? Ou est-ce à la commande, disons, d'imprimer le contenu de file.txt ligne par ligne, puis une pause au niveau de chaque ligne de la queue à traiter, puis demander plus de données?

La raison pour laquelle je demande, c'est que je suis en train d'écrire un programme sur un dispositif intégré qui, en gros, effectue une séquence d'opérations sur des bouts de données, d'où la sortie d'une opération, est d'envoyer comme l'entrée de la prochaine opération. Je voudrais savoir comment linux (bash) gère ce donc merci de me donner une réponse générale, pas spécialement ce qui se passe quand je lance le "chat file.txt | queue -20".

Merci d'avance pour vos réponses!

EDIT: Shog9 souligné pertinentes de l'Article de Wikipédia n'en est pas de me conduire directement à l'article, mais il m'a permis de trouver ceci: http://en.wikipedia.org/wiki/Pipeline_%28Unix%29#Implementation qui n'ont que les informations que je cherchais.


Je suis désolé de ne pas me faire clair. Bien sûr, vous êtes à l'aide d'un tuyau et bien sûr, vous êtes à l'aide de l'entrée standard stdin et stdout des parties respectives de la commande. J'avais supposé que c'était trop évident pour l'état.

Ce que je demande, c'est comment cela est géré/mise en œuvre. Puisque les deux programmes ne peuvent pas s'exécuter à la fois, comment les données sont envoyées depuis l'entrée standard vers la sortie standard? Qu'advient-il si le premier programme génère des données nettement plus rapide que le deuxième programme? Le système d'exécution de la première commande jusqu'à ce que ce soit mis fin ou c'est la sortie standard de la mémoire tampon est pleine, et de passer ensuite dans le programme suivant, et ainsi de suite dans une boucle jusqu'à ce que plus de données sont de gauche à être traitées, ou est-il plus compliqué mécanisme?

InformationsquelleAutor num1 | 2008-08-21