Wenn Sie Linux verwenden, werden Sie möglicherweise auf Verweise auf "Standard-E/A" oder "Standardeingabe", "Standardausgabe" und "Standardfehler" stoßen. Was bedeuten diese Begriffe?
Standardeingabe
Standardeingabe ist ein Begriff für die Eingabe, die ein befehlsbasiertes Programm empfängt. Bei der interaktiven Verwendung kommt es normalerweise von der Tastatur, aber wie Sie später sehen werden, kann es auch aus einer Datei stammen.
Während die Tastatur heutzutage meist direkt an die Maschine gesteckt wird, waren Textterminals noch mehr übliche Standardeingabe wurde von der Terminaltastatur genommen, die an einen zentralen Minicomputer angeschlossen ist oder Großrechner. Moderne Linux-Systeme verwenden Terminalemulatoren oder die Systemkonsole für die Standardeingabe.
Standardausgabe
Die Standardausgabe ist wie die Standardeingabe der Ort, an dem ein Programm seine Textausgabe sendet. Auch hier handelt es sich typischerweise um einen Terminalemulator auf modernen Systemen, aber in der Vergangenheit auch auf physischen Terminals, entweder mit CRT-Bildschirmen oder mit Fernschreibern auf Papier gedruckt.
Teletype-Terminals waren häufiger, als der Vorgänger von Linux, Unix, in den späten 1960er und frühen 1970er Jahren in den Bell Labs entwickelt wurde.
Verwandt: Warum sind Linux-Befehle so kurz? Die Geschichte der Linux-Befehle
Wie bei der Standardeingabe können Sie auch die Standardausgabe in eine Datei umleiten.
Standart Fehler
Standardfehler werden normalerweise für alle Fehlermeldungen verwendet, die ein Programm generieren kann. Wie bei der Standardausgabe wird sie normalerweise auf dem Bildschirm angezeigt, kann aber auch in eine Datei oder auf ein Blockgerät wie z. B. umgeleitet werden /dev/null.
So leiten Sie die Ein- und Ausgabe unter Linux um
Eine der mächtigsten Funktionen von Linux- und Unix-Systemen ist die Möglichkeit, Eingaben und Ausgaben in Dateien und andere Programme umzuleiten.
Die am weitesten verbreitete Methode besteht darin, die Ausgabe von einem Befehl an einen anderen oder eine "Pipeline" zu senden. Zum Um beispielsweise zu sehen, wie viele Linux-Befehle "sh" in ihrem Namen haben, können Sie die Ausgabe des ls-Befehls weiterleiten mit grep.
ls /bin | grep 'sch'
Zu die Ausgabe eines Befehls in eine Datei umleiten, benutze die > Operator. Um beispielsweise die Ausgabe von zu senden der ls-Befehl in einen Dateinamen Dateiliste:
ls > Dateiliste
Die >> Operator hängt die Ausgabe an eine vorhandene Datei an oder erstellt sie, wenn sie nicht existiert. Um zu verhindern, dass eine Datei versehentlich überschrieben wird, können Sie in der Bash die Option "noclobber" setzen:
Noclobber einstellen
Sie können ein Programm auch veranlassen, Eingaben aus einer Datei mit der < Operator. Das cat-Programm kann den Inhalt einer Datei drucken, indem es Eingaben aus der Datei entgegennimmt und die Ausgabe an die Standardausgabe sendet.
Katze < Datei
Natürlich können Sie einfach cat verwenden und den Dateipfad als Argument angeben, aber dies ist nur ein Beispiel.
Sie können Standardfehler mithilfe eines Dateideskriptors oder einer Zahl umleiten, die für eine der Formen von Standard-E/A steht. Bei Dateideskriptoren steht 0 für die Standardeingabe, 1 für die Standardausgabe und 2 für den Standardfehler. Die Syntax in Bash ist [Dateideskriptor]>. Es ist nützlich, den Standardfehler an. umzuleiten /dev/null um Fehler loszuwerden:
linux_command 2> /dev/null
Sie können sowohl die Standardausgabe als auch die Standardeingabe gleichzeitig umleiten mit &>, was nützlich ist, wenn Sie eine E-Mail oder einen Forumsbeitrag senden müssen, in dem ein Problem beschrieben wird, das Sie mit einem Programm haben:
linux_command &> Datei
Standard-E/A funktioniert überall
Selbst mit den heute verfügbaren grafischen Umgebungen bleibt Standard-I/O wichtig, da es immer noch die universelle Schnittstelle ist, vom Desktop über den Server bis zum Mobilgerät, die auf ASCII-Text basiert.
ASCII-Text erscheint kryptisch, wird aber im Internet vielseitig verwendet.
Weiter lesen
- Linux
- Technologie erklärt
- Linux-Grundstufe
- Linux-Bash-Shell
David ist ein freiberuflicher Autor mit Sitz im pazifischen Nordwesten, stammt jedoch ursprünglich aus der Bay Area. Er ist seit seiner Kindheit technikbegeistert. Davids Interessen sind Lesen, Ansehen hochwertiger Fernsehsendungen und Filme, Retro-Spiele und das Sammeln von Schallplatten.
Abonniere unseren Newsletter
Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!
Klicken Sie hier, um zu abonnieren