Lorsque vous exécutez une commande de terminal, elle imprimera généralement la sortie dans le terminal afin que vous puissiez la lire immédiatement. Cependant, vous souhaiterez parfois enregistrer le résultat pour une analyse ultérieure ou une combinaison avec un autre outil.
Vous pouvez le faire en utilisant la redirection de sortie sur la ligne de commande. Découvrez comment envoyer le résultat d’une commande vers un fichier texte sous Windows, Mac et Linux.
Rediriger la sortie de la ligne de commande vers un fichier
Il existe deux opérateurs que vous pouvez utiliser pour rediriger la sortie de la commande vers un fichier : >> et > . Il est important que vous compreniez la différence entre ces deux opérateurs pour éviter toute perte de données involontaire.
L' icône > crée un nouveau fichier ou écrase l'ancien fichier s'il existe déjà. L' opérateur >> crée également un nouveau fichier s'il n'existe pas mais il n'écrasera pas le fichier existant. Si le fichier existe déjà, il ajoutera le texte à la fin du fichier.
Pour rediriger la sortie d'une commande vers un fichier, entrez la commande, puis spécifiez l' opérateur > ou >> et indiquez enfin le chemin d'accès au fichier vers lequel vous souhaitez rediriger la sortie. Par exemple, voici comment enregistrer le résultat de la commande ls, qui répertorie le contenu d'un répertoire :
ls > /path/to/file
Remplacez /path/to/file par le chemin complet du fichier que vous souhaitez utiliser. La commande s'exécutera silencieusement, stockant la sortie dans le fichier que vous spécifiez.
Pour afficher le contenu d'un fichier dans le terminal, vous pouvez utiliser la commande cat . Encore une fois, remplacez /path/to/file par le chemin complet du fichier que vous souhaitez afficher.
cat /path/to/file
Vous devriez voir le résultat de la commande dans votre nouveau fichier :
Rediriger la sortie de ls vers un fichier
L' opérateur > remplace le contenu d'un fichier existant. Si vous souhaitez enregistrer les résultats de plusieurs commandes dans un seul fichier, utilisez plutôt l' opérateur >> . Cela s'ajoutera au fichier, vous ne perdrez donc aucune sortie précédente que vous avez enregistrée.
Par exemple, essayez d'ajouter des informations système à la fin du fichier que vous venez de créer. Exécutez simplement uname -a sous Linux/Mac - ou la commande ver si vous êtes sous Windows - et ajoutez l' opérateur >> ainsi que le chemin d'accès au fichier :
uname -a >> /path/to/file
Répétez ce processus autant de fois que nécessaire pour continuer à ajouter la sortie de la commande à la fin du fichier.
Ajouter la sortie à un fichier
Exporter la sortie à l'écran et la rediriger vers un fichier
Les opérateurs > et >> n'affichent pas le résultat de la commande à l'écran, ils l'envoient simplement dans un fichier. Si vous souhaitez envoyer la sortie vers un fichier et l'afficher à l'écran, utilisez la commande tee.
Pour utiliser la commande tee, envoyez la sortie d'une autre commande à cette commande à l'aide de l'opérateur pipe, une barre verticale (|). Par exemple, voici comment envoyer la sortie de la commande ls à tee à l'aide d'un tube :
ls | tee /path/to/output.txt
La commande tee envoie ensuite cette sortie à la fois à l'écran et au fichier que vous spécifiez. Cette opération écrasera le fichier ou créera un nouveau fichier s'il n'existe pas, tout comme l' opérateur > .
Pour utiliser la commande tee pour imprimer le résultat à l'écran et l'ajouter à la fin du fichier, ajoutez l' indicateur -a avant le chemin du fichier, par exemple :
uname -a | tee -a /path/to/output.txt
Vous verrez le résultat de la commande à l'écran et vous pourrez utiliser cat pour vérifier que tee l'a également ajouté au fichier :
Ajouter la sortie à un fichier à l'aide de la commande tee