Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

Redirection de la sortie standard et de l'erreur standard vers un fichier

Il y a des cas dans lesquels nous pouvons souhaiter capturer toute la sortie d'une commande dans un seul fichier. Pour ce faire, nous devons rediriger à la fois la sortie standard et l'erreur standard. Il y a deux façons de faire ça. Tout d'abord, la méthode traditionnelle, qui fonctionne avec les anciennes versions du shell :



[moi@linuxbox ~]$ ls -l /bin/usr > ls-output.txt 2>&1

[moi@linuxbox ~]$ ls -l /bin/usr > ls-output.txt 2>&1


En utilisant cette méthode, nous effectuons deux redirections. Tout d'abord, nous redirigeons la sortie standard vers le fichier ls-sortie.txt puis nous redirigeons le descripteur de fichier 2 (erreur standard) vers le descripteur de fichier un (sortie standard) en utilisant la notation 2> et 1.


image

Notez que l'ordre des redirections est important. La redirection de l'erreur standard doit toujours se produire après rediriger la sortie standard ou cela ne fonctionne pas. Dans l'exemple ci-dessus,


>ls-output.txt 2>&1


redirige l'erreur standard vers le fichier ls-sortie.txt, mais si l'ordre est modifié en


2>&1>ls-output.txt


l'erreur standard est dirigée vers l'écran.


image

Les versions récentes de bash fournir une deuxième méthode plus rationalisée pour effectuer cette

Erreur standard de redirection


redirection combinée :



[moi@linuxbox ~]$ ls -l /bin/usr &> ls-output.txt

[moi@linuxbox ~]$ ls -l /bin/usr &> ls-output.txt


Dans cet exemple, nous utilisons la notation unique &> pour rediriger à la fois la sortie standard et l'erreur standard vers le fichier ls-sortie.txt. Vous pouvez également ajouter la sortie standard et les flux d'erreurs standard à un seul fichier comme suit :



[moi@linuxbox ~]$ ls -l /bin/usr &>> ls-output.txt

[moi@linuxbox ~]$ ls -l /bin/usr &>> ls-output.txt


Meilleur système d'exploitation Cloud Computing chez OnWorks :