Chaque processus de Linux produit trois flux de données, «stdin», «stdout» et «stderr»:
Chaque flux de données a un ID numérique:
ID numérique | Nom |
0 | stdin |
1 | stdout |
2 | stderr |
Expliquons un peu plus la redirection avec les détails:
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.SMS
La commande ci-dessus créera un fichier et placera la sortie standard de la commande «LS» dans la «stdout stdout.Fichier txt ».
Pour lire le «stdout.Fichier txt », utilisation:
$ Cat stdout.SMS
Nous pouvons également rediriger l'erreur standard vers un fichier en utilisant la commande:
$ Cat myfile.txt 2> stderr.SMS
Pour voir le «Stderr.Fichier txt », utilisation:
$ Cat Stderr.SMS
Assurez-vous que l'utilisation de «2» sera plus grande que le panneau «>». Puisqu'il n'y a pas de «myfile.TXT "Fichier dans le répertoire, la commande" Cat "donnera une erreur qui sera annexée dans le" stderr.Fichier txt ».
Ces sorties standard peuvent être redirigées avec une seule commande également, utilisez:
$ ls 1> stdout.txt 2> stderr.SMS
La sortie de la commande «LS» sera écrite dans le «stdout.SMS«Fichier, mais le«stderr.SMS«Restera vide car il n'y aurait pas d'erreur.
Maintenant, faisons pour «Stderr.SMS":
$ Cat myfile.txt 1> stdout.txt 2> stderr.SMS
Utilisez la commande mentionnée ci-dessous pour lire «Stderr.SMS."
$ Cat Stderr.SMS
Et bien sûr, «Stdout.txt »sera vide.
Conclusion:
La commande Linux lors de l'exécution donne une sortie standard qui pourrait être une sortie de réussite 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 panneau «>». Dans ce guide, nous avons appris à utiliser ces clés numériques pour rediriger la sortie standard vers un fichier avec des exemples.