GNU/Linux >> Tutoriels Linux >  >> Linux

Commande Linux tee expliquée pour les débutants (6 exemples)

Il y a des moments où vous souhaitez suivre manuellement la sortie d'une commande et vous assurer simultanément que la sortie est écrite dans un fichier afin que vous puissiez vous y référer ultérieurement. Si vous recherchez un outil Linux capable de le faire pour vous, vous serez heureux de savoir qu'il existe une commande tee qui est construit à cet effet.

Dans ce didacticiel, nous aborderons les bases de la commande tee à l'aide d'exemples faciles à comprendre. Mais avant cela, il convient de mentionner que tous les exemples utilisés dans cet article ont été testés sur Ubuntu 16.04 LTS.

Commande tee Linux

La commande tee lit essentiellement à partir de l'entrée standard et écrit dans la sortie et les fichiers standard. Voici la syntaxe de la commande :

tee [OPTION]... [FILE]...

Et voici comment la page de manuel l'explique :

Copy standard input to each FILE, and also to standard output.

Les exemples de style questions-réponses suivants devraient vous donner une meilleure idée du fonctionnement de la commande.

Q1. Comment utiliser la commande tee sous Linux ?

Supposons que vous utilisiez la commande ping pour une raison quelconque.

ping google.com

Et ce que vous voulez, c'est que la sortie soit également écrite dans un fichier en parallèle. Alors voici où vous pouvez utiliser la commande tee.

envoyer un ping à google.com | tee sortie.txt

La capture d'écran suivante montre que la sortie a été écrite dans le fichier "output.txt" en même temps qu'elle a été écrite sur stdout.

Cela devrait donc effacer l'utilisation de base du tee.

Q2. Comment s'assurer que tee ajoute des informations dans les fichiers ?

Par défaut, la commande tee écrase les informations d'un fichier lorsqu'elle est réutilisée. Cependant, si vous le souhaitez, vous pouvez modifier ce comportement en utilisant l'option de ligne de commande -a.

[command] | tee -a [file]

Donc, fondamentalement, l'option -a force tee à ajouter des informations au fichier.

Q3. Comment faire en sorte que tee écrive dans plusieurs fichiers ?

C'est assez facile. Il vous suffit de mentionner leurs noms.

[command] | tee [file1] [file2] [file3]

Par exemple :

ping google.com | tee output1.txt output2.txt output3.txt

Q4. Comment faire pour rediriger la sortie d'une commande vers une autre ?

Vous pouvez non seulement utiliser tee pour écrire simultanément la sortie dans des fichiers, mais également pour transmettre la sortie en tant qu'entrée à d'autres commandes. Par exemple, la commande suivante stockera non seulement les noms de fichiers dans 'output.txt' mais vous indiquera également - via wc - le nombre d'entrées dans le fichier output.txt.

ls file* | tee output.txt | wc -l

Q5. Comment écrire dans un fichier avec des privilèges élevés en utilisant tee ?

Supposons que vous ayez ouvert un fichier dans l'éditeur Vim, effectué de nombreuses modifications, puis lorsque vous avez essayé d'enregistrer ces modifications, une erreur vous a fait réaliser qu'il s'agit d'un fichier appartenant à la racine, ce qui signifie que vous devez disposer des privilèges sudo pour enregistrer ces changements.

Dans des scénarios comme ceux-ci, vous pouvez utiliser tee pour élever les privilèges lors de vos déplacements.

:w !sudo tee %

La commande susmentionnée vous demandera le mot de passe root, puis vous permettra d'enregistrer les modifications.

Q6. Comment faire en sorte que tee ignore l'interruption ?

L'option de ligne de commande -i permet à tee d'ignorer le signal d'interruption (SIGINT ), qui est généralement émis lorsque vous appuyez sur la combinaison de touches crl+c.

[command] | tee -i [file]

Ceci est utile lorsque vous voulez tuer la commande avec ctrl+c mais que vous voulez que tee sorte correctement.

Conclusion

Vous conviendrez probablement maintenant que tee est une commande extrêmement utile. Nous avons discuté de son utilisation de base ainsi que de la majorité de ses options de ligne de commande ici. L'outil n'a pas une courbe d'apprentissage abrupte, alors pratiquez simplement tous ces exemples, et vous devriez être prêt à partir. Pour plus d'informations, rendez-vous sur la page de manuel de l'outil.


Linux
  1. Commande Linux paste expliquée pour les débutants (5 exemples)

  2. Commande Linux wc expliquée pour les débutants (6 exemples)

  3. Explication de la commande Linux unexpand pour les débutants (avec exemples)

  4. Commande de sortie Linux expliquée pour les débutants (avec exemples)

  5. Explication de la commande Linux objdump pour les débutants (7 exemples)

Explication de la commande Linux timeout pour les débutants (avec exemples)

Explication de la commande Linux dd pour les débutants (8 exemples)

Explication de la commande Linux mv pour les débutants (8 exemples)

La commande Linux md5sum expliquée aux débutants (5 exemples)

Commande d'hôte Linux expliquée pour les débutants (8 exemples)

Tutoriel Linux Tee Command avec des exemples pour les débutants