Recherche sur le site Web

Comment utiliser la commande tee pour diviser la sortie du terminal sous Linux


À l'aide de la commande tee, vous pouvez diviser la sortie d'une commande entre le terminal et les fichiers sous Linux.

Linux vous permet de stocker le résultat de la commande dans des fichiers comme moyen de redirection de sortie. Lorsque vous enregistrez la sortie dans un fichier à l'aide des opérateurs > ou >>, la sortie est redirigée sans aucune information affichée sur le terminal.

Mais que se passe-t-il si vous souhaitez imprimer le résultat à l’écran et le stocker simultanément dans un fichier ? Bien que vous ne puissiez pas le faire avec les opérateurs de redirection de sortie, il est possible de le faire en utilisant la commande tee sous Linux.

Syntaxe de commande de base

tee est un utilitaire Linux standard utilisé pour diviser la sortie d'une commande entre la sortie standard et les fichiers.

Contrairement à la plupart des commandes Linux, tee est utilisé avec d'autres programmes utilisant un tube (|). L'opérateur pipe, l'un des nombreux opérateurs de ligne de commande sous Linux, permet à un programme d'utiliser la sortie d'une autre commande comme entrée. Vous avez peut-être utilisé pipe en utilisant grep avec la commande ls ou cat.

La syntaxe de base de la commande tee est :

command | tee options filepath

...où options et filepath sont les arguments de ligne de commande et le chemin d'accès au fichier dans lequel vous souhaitez stocker la sortie.

Sortie du terminal divisé sous Linux avec tee

L'utilisation la plus simple de tee consiste à diviser la sortie pour l'afficher dans le terminal et à la stocker dans un fichier. Par exemple, pour stocker le résultat de la commande ls dans un fichier texte nommé "output.txt", exécutez :

ls | tee ./output.txt

La sortie affichera le contenu du répertoire de travail actuel comme d'habitude. En vérifiant le fichier output.txt, vous constaterez que tee a également enregistré la sortie dans le fichier.

Lorsque vous spécifiez un chemin de fichier, tee vérifie si le fichier existe. S'il n'en trouve pas, il crée automatiquement le fichier pour vous, ce qui le rend pratique à utiliser dans les scripts shell. Ceci est utile lorsque vous souhaitez enregistrer la sortie d'un programme ou d'un script pour référence ultérieure.

Vous devrez faire précéder la commande tee de sudo pour lire ou stocker des données dans un fichier appartenant à l'utilisateur root.

Si le fichier spécifié contient des données stockées que vous ne souhaitez pas écraser, utilisez l'indicateur -a pour ajouter la sortie au fichier, au lieu d'effacer l'intégralité du fichier. puis en enregistrant les données :

ls | tee -a ./output.txt

De même, vous pouvez rediriger la sortie vers plusieurs fichiers en spécifiant les chemins, séparés par des espaces simples :

ls | tee ./output1.txt ./output2.txt

Parfois, des erreurs inattendues ou des interruptions manuelles (en utilisant Ctrl + C ou Ctrl + Z) dans l'ancienne commande peuvent provoquer la fermeture de tee. Pour ignorer de telles interruptions, utilisez l'indicateur -i :

ls | tee -i output.txt

Pour obtenir de l'aide en ligne de commande concernant tee ou trouver les détails de la version, utilisez les indicateurs --help et --version comme suit :

tee --help
tee --version

Redirection de la sortie vers une autre commande

Vous pouvez créer une chaîne de sortie en raccordant un té avec d'autres commandes Linux. Cela enregistrera la sortie dans le fichier spécifié, puis la transmettra à la commande suivante pour traitement.

Utilisez le format suivant pour rediriger la sortie de tee vers une autre commande :

command | tee filepath | othercommand

Par exemple, la commande suivante enregistrera le résultat de la commande ls dans output.txt avant de le rediriger vers grep pour une recherche rapide :

ls | tee output.txt | grep "Documents"

Dans l’ensemble, vous pouvez utiliser la commande tee pour jouer avec les entrées et sorties standard sous Linux.

Manipulation de la sortie et du texte avec les commandes Linux

La commande tee ajoute des fonctionnalités indispensables aux opérateurs de redirection de sortie standard sous Linux. Vous pouvez même l'utiliser pour manipuler le résultat d'une commande avant de le transmettre à un autre programme.

De même, vous pouvez modifier le texte à l'aide du terminal à l'aide de certaines commandes Linux standard. Il faudra peut-être un certain temps pour s'y habituer, mais en fin de compte, la manipulation de texte via la ligne de commande vaut la peine d'être apprise par tout administrateur système.

Articles connexes: