Ich lese ein Buch, es heißt:
Jedem Prozess stehen mindestens drei Kommunikationskanäle zur Verfügung: „Standardeingang“ (STDIN), „Standardeingang“ (STDOUT) und „Standardfehler“ (STDERR).
Die meisten Befehle akzeptieren ihre Eingabe von STDIN und schreiben ihre Ausgabe in STDOUT. Sie schreiben Fehlermeldungen an STDERR. Mit dieser Konvention können Sie Befehle wie Bausteine aneinanderreihen, um zusammengesetzte Pipelines zu erstellen.
Die Schale interpretiert die Symbole
<
,>
und>>
als Befehle einen Befehl der Eingabe oder Ausgabe zu oder von einer Datei umzuleiten.Verwenden Sie das
|
Symbol, das allgemein als Pipe bezeichnet wird, um die STDOUT eines Befehls mit der STDIN eines anderen Befehls zu verbinden .ps -ef | grep httpd
Im Grunde bedeutet dies, dass die Standardeingabe ein Befehl ist, mit dem der Benutzer in eine Datei schreiben kann, während die Standardausgabe ein Befehl ist, bei dem die Bash-Shell in die Shell geschrieben wird, und der Standardfehler genau wie die Ausgabe ist, aber nur Wird aufgerufen, wenn ein Fehler im Dateisystem vorliegt. Dann kommen wir zum Teil der Verbindung von STDOUT und STDIN und ich bin verloren.
standard input is a command that allows user to write to a file
Kein Befehl, sondern ein Stream. Standard In und Out sind wie Briefkästen. Wenn ein Programm gestartet wird, erhält es eine Box zum Empfangen und eine Box zum Senden von E-Mails. Normalerweise erfolgt die Eingabe über die Tastatur und wird in den Posteingang gestellt. Die in den Postausgang gesendete E-Mail landet auf Ihrem Terminalbildschirm.
standard output is a command that has the bash shell write output to the shell
Das Programm weiß eigentlich nicht, wo Standard-Out-Punkte sind. Wenn Sie A nach B leiten (wie in
$ A | B
), wenn A E-Mails in den Postausgang legt, landet sie im Posteingang von B. B verarbeitet die Eingabe und legt seine eigene Mail im Postausgang ab, was Sie auf dem Terminal sehen.Wie bereits erwähnt, sind Streams Standard-In / Out-Streams. Das Postfach oder der Dateideskriptor ist ein Ende des Streams. Ein Rohr bedeutet, den Standard von A mit dem Standard von B zu verbinden.
quelle