Je lis un livre, ça dit:
Chaque processus dispose d'au moins trois canaux de communication: «entrée standard» (STDIN), «sortie standard» (STDOUT) et «erreur standard» (STDERR).
La plupart des commandes acceptent leur entrée de STDIN et écrivent leur sortie dans STDOUT. Ils écrivent des messages d'erreur à STDERR. Cette convention vous permet de chaîner des commandes comme des blocs de construction pour créer des pipelines composites.
Le shell interprète les symboles
<
,>
et>>
comme des instructions pour rediriger l'entrée ou la sortie d'une commande vers ou depuis un fichier.Pour connecter le STDOUT d'une commande au STDIN d'une autre, utilisez le
|
symbole, communément appelé pipe.ps -ef | grep httpd
Donc, fondamentalement, ce que cela signifie, c'est que l'entrée standard est une commande qui permet à l'utilisateur d'écrire dans un fichier, tandis que la sortie standard est une commande qui a la sortie d'écriture du shell bash dans le shell, et l'erreur standard est exactement comme la sortie, mais ce n'est que invoqué en cas d'erreur dans le système de fichiers. Ensuite, nous arrivons à la partie de la connexion STDOUT et STDIN et je suis perdu.
standard input is a command that allows user to write to a file
Pas une commande, mais un flux. Les entrées et sorties standard sont comme des boîtes aux lettres. Lorsqu'un programme démarre, on lui donne une boîte pour recevoir et une boîte pour envoyer du courrier. Habituellement, la saisie provient du clavier et est placée dans la boîte de réception, le courrier mis dans la boîte de sortie se retrouve sur l'écran de votre terminal.
standard output is a command that has the bash shell write output to the shell
Le programme ne sait pas vraiment où les points de sortie standard. Lorsque vous dirigez A vers B (comme dans
$ A | B
), lorsque A met du courrier dans la boîte d'envoi, il se retrouve dans la boîte de réception de B. B traite l'entrée et met son propre courrier dans la boîte d'envoi, ce que vous voyez sur le terminal.Pour supprimer la métaphore, comme mentionné, les entrées / sorties standard sont des flux. La boîte aux lettres, ou descripteur de fichier , est une extrémité du flux. Tuyau, c'est connecter la norme de A à la norme de B.
la source