Lorsque vous utilisez Linux, vous pouvez rencontrer des références à « E/S standard » ou « entrée standard », « sortie standard » et « erreur standard ». Que veulent dire ces termes?

Entrée standard

L'entrée standard est un terme désignant l'entrée qu'un programme basé sur des commandes reçoit. En utilisation interactive, il provient normalement du clavier, mais comme vous le verrez plus tard, il peut également provenir d'un fichier.

Alors que le clavier de nos jours est généralement branché directement sur la machine, lorsque les terminaux de texte étaient plus commun, l'entrée standard a été prise à partir du clavier du terminal connecté à un mini-ordinateur central ou unité centrale. Les systèmes Linux modernes utilisent des émulateurs de terminal ou la console système pour l'entrée standard.

Sortie standard

La sortie standard, comme l'entrée standard, est l'endroit où un programme enverra sa sortie de texte. Encore une fois, il s'agit généralement d'un émulateur de terminal sur les systèmes modernes, mais dans le passé, il s'agissait également de terminaux physiques, soit avec des écrans CRT, soit imprimés sur papier à l'aide de télétypes.

instagram viewer

Les terminaux de télétype étaient plus courants lorsque le prédécesseur de Linux, Unix, était développé aux Bell Labs à la fin des années 1960 et au début des années 1970.

En rapport: Pourquoi les commandes Linux sont-elles si courtes? L'histoire des commandes Linux

Comme l'entrée standard, vous pouvez également rediriger la sortie standard vers un fichier.

Erreur standard

L'erreur standard est généralement utilisée pour tous les messages d'erreur qu'un programme peut générer. Comme pour la sortie standard, elle est généralement affichée à l'écran mais peut également être redirigée vers un fichier ou vers un périphérique bloc comme /dev/null.

Comment rediriger l'entrée et la sortie sur Linux

L'une des fonctionnalités les plus puissantes des systèmes Linux et Unix est la possibilité de rediriger les entrées et les sorties vers des fichiers et d'autres programmes.

La méthode la plus largement utilisée consiste à envoyer la sortie d'une commande à une autre, ou un "pipeline". Pour exemple, pour voir combien de commandes Linux ont "sh" dans leur nom, vous pouvez diriger la sortie de la commande ls avec grep.

ls /bin | grep 'sh'

À rediriger la sortie d'une commande vers un fichier, Utilisez le > opérateur. Par exemple, pour envoyer la sortie de la commande ls dans un nom de fichier liste de fichiers:

ls > liste de fichiers

Les >> L'opérateur ajoute la sortie à un fichier existant ou le crée s'il n'existe pas. Pour éviter d'écraser accidentellement un fichier, vous pouvez définir l'option "noclobber" dans Bash:

mettre noclobber

Vous pouvez également faire en sorte qu'un programme prenne l'entrée d'un fichier avec le < opérateur. Le programme cat peut imprimer le contenu d'un fichier en prenant l'entrée du fichier et en envoyant la sortie vers la sortie standard.

chat < fichier

Bien sûr, vous pouvez simplement utiliser cat et spécifier le chemin du fichier comme argument, mais ce n'est qu'un exemple.

Vous pouvez rediriger l'erreur standard à l'aide d'un descripteur de fichier ou d'un numéro correspondant à l'une des formes d'E/S standard. Avec les descripteurs de fichier, 0 est l'entrée standard, 1 est la sortie standard et 2 est l'erreur standard. La syntaxe dans Bash est [descripteur de fichier]>. Il est utile de rediriger l'erreur standard vers /dev/null pour se débarrasser des erreurs:

commande_linux 2> /dev/null

Vous pouvez rediriger à la fois la sortie et l'entrée standard avec &>, ce qui est utile si vous devez envoyer un e-mail ou un message sur un forum décrivant un problème que vous rencontrez avec un programme:

linux_command &> fichier

Les E/S standard fonctionnent partout

Même avec les environnements graphiques disponibles aujourd'hui, les E/S standard restent importantes car c'est toujours l'interface universelle, du bureau au serveur en passant par le mobile, étant basée sur du texte ASCII.

Qu'est-ce que le texte ASCII et comment est-il utilisé ?

Le texte ASCII semble cryptique, mais il a de nombreuses utilisations sur Internet.

Lire la suite

PartagerTweeterE-mail
Rubriques connexes
  • Linux
  • La technologie expliquée
  • Linux élémentaire
  • Shell Linux Bash
A propos de l'auteur
David Delony (62 articles publiés)

David est un écrivain indépendant basé dans le nord-ouest du Pacifique, mais originaire de la région de la baie. Il est passionné de technologie depuis son enfance. Les intérêts de David incluent la lecture, le visionnage d'émissions de télévision et de films de qualité, les jeux rétro et la collection de disques.

Plus de David Delony

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner