Chaque processus sous Linux produit trois flux de données, stdin, stdout et stderr :
- standard : Prend l'entrée de l'utilisateur via le clavier
- sortie standard : Affiche la sortie sur l'écran
- stderr : Affiche les informations d'erreur à l'écran
Chaque flux de données a un identifiant numérique :
Identifiant numérique | Nom |
0 | standard |
1 | sortie standard |
2 | stderr |
Expliquons un peu plus la redirection en détail :
Comment rediriger la sortie standard et l'erreur standard dans Bash :
Pour rediriger la sortie standard de la commande, nous utiliserons 1 avec un opérateur de redirection supérieur au signe > :
$ls 1>stdout.txtLa commande ci-dessus créera un fichier et placera la sortie standard de la commande ls dans le fichier stdout.txt.
Pour lire le fichier stdout.txt, utilisez :
$chatstdout.txt
Nous pouvons également rediriger l'erreur standard vers un fichier en utilisant la commande :
$chatmonfichier.txt2>stderr.txt
Pour afficher le fichier stderr.txt, utilisez :
$chatstderr.txt
Assurez-vous que l'utilisation 2 sera supérieure au signe >. Comme il n'y a pas de fichier myfile.txt dans le répertoire, la commande cat donnera une erreur qui sera ajoutée dans le fichier stderr.txt.
Ces sorties standard peuvent également être redirigées avec une seule commande, utilisez :
$ls 1>stdout.txt2>stderr.txt
La sortie de la commande ls sera écrite dans le stdout.txt fichier, mais le stderr.txt restera vide car il n'y aurait pas d'erreur.
Faisons maintenant pour stderr.txt :
$chatmonfichier.txt1>stdout.txt2>stderr.txt
Utilisez la commande mentionnée ci-dessous pour lire stderr.txt.
$chatstderr.txt
Et bien sûr, stdout.txt sera vide.
Conclusion :
La commande Linux lors de l'exécution donne une sortie standard qui peut être une sortie réussie ou une sortie d'erreur. Généralement, ces sorties ne peuvent pas être redirigées à l'aide d'opérateurs de redirection ; nous devons utiliser des identifiants numériques spécifiques avec le signe >. Dans ce guide, nous avons appris à utiliser ces touches numériques pour rediriger la sortie standard vers un fichier avec des exemples.