GNU/Linux >> Tutoriels Linux >  >> Linux

9 exemples de commandes tee sous Linux

La commande Linux Tee est un outil de ligne de commande, il lit à partir de l'entrée standard et écrit le résultat dans la sortie standard et dans les fichiers en même temps. En d'autres termes, nous pouvons dire que la commande tee sous Linux est utilisée pour faire d'une pierre deux coups :lire à partir de l'entrée standard et imprimer le résultat sur un fichier et sur la sortie standard en même temps. Qu'entendons-nous par là? Dans ce guide, nous éclairons davantage la commande Linux tee et utilisons quelques exemples pour démontrer son utilisation.

Syntaxe de la commande Tee

La syntaxe de la commande tee est assez simple et prend le format suivant :

$ tee OPTIONS nom du fichier

Voici quelques-unes des options que vous pouvez utiliser avec la commande tee :

Dans la syntaxe de la commande tee, filename fait référence à un ou plusieurs fichiers.

Dans cet esprit, examinons quelques exemples d'utilisation de la commande.

Exemple 1) Utilisation de base de la commande tee

Comme décrit précédemment, la fonction principale de la commande tee est d'afficher la sortie d'une commande (stdout) et de l'enregistrer dans un fichier. Dans l'exemple ci-dessous, la commande que nous inspectons les périphériques de bloc dans notre système et transmet les résultats à la commande tee qui affiche la sortie sur le terminal tout en l'enregistrant simultanément dans un nouveau fichier appelé block_devices.txt

$ lsblk | tee block_devices.txt

N'hésitez pas à examiner le contenu du fichier block_devices.txt à l'aide de la commande cat comme indiqué :

$ cat block_devices.txt

Exemple 2) Enregistrer la sortie de la commande dans plusieurs fichiers à l'aide de tee

De plus, vous pouvez écrire la sortie d'une commande dans plusieurs fichiers séparés par des espaces, comme indiqué dans la syntaxe ci-dessous.

$ commande | tee fichier1 fichier2 fichier3 . . .

Dans l'exemple suivant, nous avons invoqué la commande hostnamectl pour imprimer le nom d'hôte de notre système entre autres détails et enregistrer la sortie standard dans deux fichiers file1.txt et file2.txt

$ hostnamectl | tee fichier1.txt fichier2.txt

Encore une fois, vous pouvez confirmer l'existence de la sortie dans les deux fichiers à l'aide de la commande cat comme indiqué :

$ cat file1.txt$ cat file2.txt

Exemple 3) Supprimer la sortie de la commande tee

Si vous souhaitez masquer ou empêcher la commande tee d'imprimer la sortie à l'écran, redirigez la sortie vers /dev/null comme indiqué :

$ commande | fichier tee> /dev/null

Par exemple,

$ df -Th | tee file4.txt> /dev/null

Exemple 4) Ajouter la sortie à un fichier avec la commande tee

Par défaut, la commande tee écrase le contenu d'un fichier. Pour ajouter la sortie et empêcher l'effacement du contenu actuel, utilisez les options -a ou -append.

$ commande | tee -un fichier

Dans la deuxième commande, comme indiqué, nous avons ajouté la sortie de la commande date à file1.txt qui contient déjà les informations sur les périphériques USB du système.

$ date | tee -a fichier1.txt

Exemple 5) Utiliser tee avec la commande sudo

Supposons qu'en tant qu'utilisateur sudo, vous souhaitiez écrire sur un fichier appartenant à l'utilisateur root. Naturellement, toute opération élevée nécessitera que vous invoquiez l'utilisateur sudo avant la commande.

Pour ce faire, préfixez simplement la commande tee avec sudo comme indiqué ci-dessous.

$ echo "10.200.50.20 db-01" | sudo tee -a /etc/hosts/

Ainsi, tee reçoit la sortie de la commande echo sur la gauche et l'élève à l'aide de la commande sudo qui ajoute finalement la sortie au fichier.

Exemple 6) Rediriger la sortie d'une commande vers une autre à l'aide de la commande tee

En utilisant la commande tee, nous pouvons facilement rediriger la sortie d'une commande vers une autre commande. Ici, la sortie de la première commande servira d'entrée pour la deuxième commande. L'exemple est illustré ci-dessous :

$ grep 'racine' /etc/passwd | tee /tmp/passwd.tmp | wc -l2$ cat /tmp/passwd.tmproot:x:0:0:root:/root:/bin/bashoperator:x:11:0:operator:/root:/sbin/nologin$

Exemple 7) Enregistrer les modifications dans un fichier dans l'éditeur vi avec la commande tee

Supposons que vous travaillez en tant qu'utilisateur non root et que vous apportez des modifications au fichier appartenant à root et que vous oubliez de mettre sudo devant la commande et que vous souhaitez maintenant enregistrer les modifications, l'exemple est illustré ci-dessous :

$ vi /etc/hosts127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4192.168.1.60   mail.linuxtechi.com192.168.1.50   ns.linuxtechi.com192.168.1.40    pxe.linuxtechi.com 

Lors de l'enregistrement des modifications apportées au fichier, vous recevrez un message en lecture seule,

Maintenant, pour enregistrer les modifications apportées au fichier /etc/hosts dans l'éditeur vi, exécutez

:w !sudo tee %

Il vous demandera d'entrer le mot de passe de l'utilisateur, si l'utilisateur dispose des droits sudo, les modifications seront enregistrées.

Exemple 8) Ignorer le signal d'interruption lors de l'utilisation de la commande tee

L'utilisation de l'option "-i" dans la commande tee peut ignorer le signal d'interruption (CTRL-C), l'exemple est illustré ci-dessous :

$ ping -c 5 linuxtechi.com  | tee -i /tmp/pingtest.tmp

Exemple 9) utilisation de la commande tee dans un script shell

La commande Tee est également fréquemment utilisée dans les scripts shell, l'un des exemples courants est répertorié ci-dessous :

$ vi basic-script.sh#!/bin/bashLOGFILE=/tmp/basic-logs-$(date +%d%m%Y)FLAVOR=$(cat /etc/*-release  | grep -w 'NAME=' | cut -d"=" -f2 | awk '{print $1}'| sed 's/"//g')if [ $FLAVOR ==CentOS ];then   dmesg | grep -i 'error' | tee -a $LOGFILE   grep -i 'installé' /var/log/dnf.log | tee -a $LOGFILEelse   echo 'ne rien faire'fi

Comme nous pouvons le voir dans le script shell Linux ci-dessus, nous utilisons la commande tee pour ajouter les sorties de deux commandes à un fichier journal uniquement si le système d'exploitation est CentOS.

Conclusion

Ceci conclut le sujet d'aujourd'hui. N'hésitez pas à donner votre avis. Vos commentaires sont les bienvenus. Dans ce guide, nous avons couvert la commande Linux tee.


Linux
  1. 7 Exemples de commandes Linux df

  2. 8 Exemples de commandes Linux TR

  3. Exemples de commande rm sous Linux

  4. Exemples de commandes ps sous Linux

  5. w Exemples de commandes sous Linux

16 exemples de commandes Echo sous Linux

9 exemples de commande diff sous Linux

Options de commande et exemples de commande Tee sous Linux

Linux tee Exemples de commandes

Explication de la commande Linux tee (avec exemples)

Exemples de commandes id sous Linux