07.06.2023

Une redirection Entrée-Sortie dans Linux

Description

Linux est "construit" autour de la philosophie "un outil pour une tâche". Pour cette raison, le grand public Linux Les distributions ont beaucoup et beaucoup d'utilitaires, chacun d'eux n'a que quelques fonctions mais ces fonctions fonctionnent très bien.

Ces utilitaires peuvent envoyer leurs résultats de "travail" d'un processus à un autre via un mécanisme de redirection d'entrée-sortie. Cela pourrait être utile dans le développement, le support des services, etc.

Tous les processus dans Linux fonctionnent sur 3 flux, entrée standard (stdin), sortie standard (stdout) et erreur standard (stderr). Ces flux ont des numéros réservés au système. Le flux Stdin a le numéro "0", le flux "1" est utilisé pour la sortie standard, le flux "2" est utilisé pour afficher les erreurs.

Le flux "Input" reçoit des données du clavier de l'ordinateur ou d'une autre sortie de script. Quelques exemples seront décrits plus loin.

Par défaut, le flux de sortie standard envoie également des données au terminal système.

Le flux d'erreur standard envoie également ses données au terminal système, mais une différence avec le point précédent - le flux de sortie standard affiche le résultat si la commande est exécutée avec succès. En cas de problème, les données seront envoyées à la sortie d'erreur standard.

Redirections de flux

Décrit dans le paragraphe précédent, les flux système pourraient rediriger les résultats du travail les uns vers les autres, vers des variables, des fichiers, etc. Pour "transférer" les flux système, les symboles de parenthèse sont réservés.

Les doubles crochets "ajoutent" des données de flux à la fin du contenu existant de l'objet "cible".

Un seul crochet "remplacera" le contenu de l'objet cible par les données du flux "source".

Pipes

Le symbole "Tuyau" est réservé dans Linux pour "envoyer" le flux d'un utilitaire vers le fichier ou un autre program. Il semble que "program AVANT que le tuyau ne fonctionne, puis envoie les résultats à l'entrée de l'utilitaire APRÈS le tuyau ». Par exemple, historique des commandes | grep touch affichera l'historique des commandes de l'utilisateur sur la console et le "transmettra" plus loin. Ensuite, l'utilitaire "grep" filtrera ce flux et affichera les commandes contenant uniquement le mot "touch".

Utilitaires de filtrage

Les filtres sont la classe des utilitaires système qui utilisent généralement "avec" pipe. Les filtres les plus populaires sont :

Conclusions finales

En résumé, il est possible de dire que la "gestion" des flux système est une compétence très utile. Ce serait bien pour le développement de logiciels, le support technique du serveur ou toute création de scripts d'automatisation.