Comment utiliser la commande tee sous Linux
Points clés à retenir
- La commande « tee » sous Linux enregistre la sortie d’une commande dans un fichier tout en l’affichant également sur le terminal.
- Il peut également écrire la sortie dans plusieurs fichiers simultanément, permettant une sauvegarde et un suivi faciles des journaux système.
- La commande « tee » peut également être utilisée avec d’autres commandes via piping. Cela permet un traitement ultérieur de la sortie tout en l’enregistrant dans un fichier. Par exemple, vous pouvez l’utiliser avec « ls » dans cette commande : « ls ~ | liste de départs.txt”
La tee
commande peut enregistrer le résultat de vos commandes pour une révision ultérieure. Cette commande affiche non seulement le résultat à l’écran, mais l’enregistre également dans un fichier journal séparé . Supposons que vous souhaitiez enregistrer la sortie de la commande df dans un fichier afin de pouvoir suivre l’utilisation de votre espace disque au fil du temps. Cette commande vous aide à dépanner un processus car elle conserve un enregistrement écrit des processus.
Qu’est-ce que la commande tee sous Linux ?
La commande Linux tee
est un outil utile pour gagner du temps et améliorer l’efficacité sous Linux. Il peut lire l’ entrée standard (stdin) et l’écrire à la fois sur la sortie standard (stdout) et sur le ou les fichiers que vous spécifiez. La tee
commande fonctionne comme un tuyau en forme de T qui divise l’eau en deux directions. Il vous permet de visualiser la sortie d’un programme et de l’enregistrer simultanément dans un fichier.
La tee
commande fait les deux choses ensemble. Il vous permet de copier la sortie dans les fichiers ou variables que vous choisissez et de vous l’afficher. Cette commande est également utilisée dans les scripts shell et les commandes de terminal pour envoyer la sortie à différents emplacements. Vous pouvez utiliser la tee
commande pour effectuer des sauvegardes , rechercher des erreurs dans les scripts et suivre les journaux système.
La tee
commande vous permet également de la diriger vers d’autres commandes . De cette façon, vous pouvez enregistrer la sortie dans un fichier et la traiter davantage avec n’importe quelle autre commande.
Presque toutes les distributions Linux sont livrées avec la tee
commande préinstallée, qui fait partie du package Coreutils.
La tee
commande suit une syntaxe similaire à celle des autres commandes Linux. Il a deux arguments, –OPTIONS et FILES :
tee [OPTION]... [FILE]...
Pour savoir quelle version de la tee
commande vous utilisez, exécutez simplement la commande suivante :
tee --version
Si vous avez besoin d’aide avec la syntaxe et les arguments disponibles pour la tee
commande, tapez ceci :
tee --help
Options de commande de tee
La tee
commande dispose de plusieurs options pour modifier sa fonctionnalité. Le tableau ci-dessous présente quelques options qui vous aideront à utiliser la tee
commande efficacement :
Option |
Description |
---|---|
|
Ajoutez la sortie à la fin des fichiers au lieu de les écraser. |
|
Ignorez les signaux d’interruption tels que Ctrl+C. |
|
Imprimez un message d’erreur sur l’erreur standard pour chaque erreur qui se produit lors de l’écriture dans des fichiers. |
|
Afficher une aide de base relative aux options de commande. |
|
Affichez la |
Enregistrer la sortie dans un fichier sous Linux à l’aide de tee
La tee
commande enregistre la sortie d’une commande dans un fichier tout en l’affichant également sur le terminal. Par exemple, la tee
commande vous permettra de voir les fichiers et répertoires de votre répertoire personnel et de les enregistrer également dans un fichier séparé. Pour ce faire, dirigez la tee
commande avec la commande ls comme suit :
ls ~ | tee list.txt
Cela affichera tous les fichiers et répertoires de votre répertoire personnel et les écrira dans « list.txt ». Pour afficher le contenu du « list.txt », utilisez n’importe quel éditeur de texte ou commande comme cat , less ou more
command.
cat list.txt
Exécutons un autre exemple avec une commande echo pour enregistrer et afficher la sortie. Tout d’abord, utilisez la echo
commande pour imprimer du texte sur le terminal. Après cela, dirigez la tee
commande avec la echo
commande pour écrire le même texte dans un fichier appelé « output.txt ».
echo "Welcome to Ubuntu"| tee output.txt
Enfin, utilisez la commande cat pour vérifier le contenu du fichier « output.txt ».
cat output.txt
Écrire la sortie dans plusieurs fichiers sous Linux à l’aide de tee
La tee
commande peut également écrire la sortie dans plusieurs fichiers simultanément. Il vous suffit de définir les noms de fichiers après la tee
commande dans laquelle vous souhaitez écrire. Séparez-les simplement par des espaces.
Par exemple, pour enregistrer le résultat de la echo
commande dans trois fichiers différents, utilisez la syntaxe suivante :
echo "Welcome to Ubuntu"| tee file1.txt file2.txt file3.txt
Cela écrira la chaîne « Bienvenue sur Ubuntu » dans trois fichiers : file1.txt, file2.txt et file3.txt. Il les affiche également sur le terminal. Pour afficher le contenu de ces fichiers, utilisez la commande cat
ouhead
:
head -v file1.txt file2.txt file3.txt
De même, la cat
commande affichera également le résultat identique :
cat -v file1.txt file2.txt file3.txt
Vous pouvez écrire la sortie dans n’importe quel nombre de fichiers avec la tee
commande. Tapez simplement les noms de fichiers après la tee
commande avec des espaces entre eux.
Ajouter la sortie à un fichier à l’aide de tee
La tee
commande sous Linux écrase le contenu du fichier par défaut. L’ option -a
ou avec la commande vous permet d’ajouter la sortie à la fin des fichiers au lieu de remplacer leur contenu.--append
tee
Avant d’ajouter des données au fichier, vérifions les données actuelles placées dans le fichier à l’aide de la commande ci-dessous :
cat output.txt
Maintenant, nous pouvons ajouter les nouvelles données sans les écraser en tapant ceci :
echo "tee Command on Linux"| tee -a output.txt
Cela ajoutera la sortie d’une commande à la fin de output.txt, sans supprimer aucun contenu précédent. Pour vérifier, exécutez la cat
commande :
cat output.txt
Masquer la sortie à l’aide du tee
Parfois, vous souhaiterez peut-être stocker le résultat d’une commande dans un fichier sans l’afficher sur le terminal. Cela peut être utile si vous souhaitez exécuter une commande en silence, sans encombrer votre terminal avec des sorties inutiles. Dans de tels cas, vous devez diriger la sortie de la commande vers l’ /dev/null
appareil. Le /dev/null
est souvent appelé « périphérique nul » ou « fichier nul ». Il agit comme un récepteur de données, ce qui signifie que toutes les données qui y sont écrites sont supprimées et ne sont stockées nulle part.
Voici une façon de masquer le résultat de la echo
commande :
echo "Welcome to Ubuntu"| tee output.txt > /dev/null
Cela écrira la sortie d’une commande dans output.txt et l’enverra également à /dev/null
, ce qui la masquera efficacement de l’écran. Cependant, la cat
commande vous permettra de vérifier le résultat en affichant le contenu du fichier :
cat output.txt
Rediriger la sortie d’une commande vers une autre à l’aide de tee
La tee
commande peut également rediriger la sortie d’une commande vers un fichier ou toute autre commande. La tee
commande avec un tube (|) vous permettra d’envoyer la sortie de la première commande à la fois à la sortie standard et à la deuxième commande ou fichier. Prenons l’exemple suivant :
echo "This is Ubuntu"| tee output.txt | wc -c
Le echo
résultat de la commande « Bienvenue sur Ubuntu » est écrit dans le fichier output.txt. Après cela, l’opérateur de pipeline est utilisé avec la tee
commande. Cela transmettra le contenu du fichier à la commande wc . La wc
commande affichera le nombre total de caractères comptés et affichera une valeur entière.
Pour vérifier si la tee
commande a également écrit la sortie dans un fichier, utilisez la cat
commande pour afficher le contenu du fichier :
cat output.txt
Utiliser la commande tee avec sudo
Lorsque vous utilisez la tee
commande, elle écrit le résultat d’une commande dans un fichier normal. Cependant, certains fichiers et répertoires tels que les répertoires système ou les fichiers protégés nécessitent des privilèges de superutilisateur pour être modifiés. Pour écrire dans ces fichiers ou dans des fichiers appartenant à d’autres utilisateurs, utilisez tee
-les conjointement avec sudo
.
Dans l’exemple ci-dessous, lorsque vous essayez d’écrire un fichier « file.conf » appartenant à la racine sans utiliser sudo , cela vous donnera une erreur d’autorisation refusée.
echo "This is Ubuntu"| tee -a /etc/file.conf
Cependant, lorsque vous utilisez la commande sudo
with tee
, celle-ci s’exécutera sans aucune erreur. Vous pouvez utiliser la sudo
commande pour exécuter la tee
commande en tant qu’utilisateur root ou propriétaire du fichier. Ajoutez simplement sudo
la tee
commande :
echo "This is Ubuntu"| sudo tee -a /etc/file.conf
Tout d’abord, la tee
commande prendra le echo
résultat de la commande. Après cela, il élève les sudo
autorisations et écrit le texte dans le fichier.
Exemples d’utilisation de tee dans un script Bash
La tee
commande peut être utile dans divers scénarios de script. Il vous aide à enregistrer ou capturer le résultat d’une commande pour un traitement ultérieur ou un débogage. La tee
commande affichera non seulement la sortie, mais l’enregistrera également dans un ou plusieurs fichiers pour une utilisation ultérieure.
Par exemple, si vous souhaitez voir la date et l’heure sur le terminal et également les écrire dans un fichier nommé log.txt, utilisez le script bash suivant :
#!/bin/bashdate | tee log.txt
Dans ce cas, l’entrée standard est la sortie de la commande date, qui affiche la date et l’heure actuelles. La tee
commande écrit cette sortie sur le terminal et dans le fichier log.txt. Si le fichier log.txt n’existe pas, il sera créé. S’il existe, il sera écrasé, sauf si vous utilisez l’ -a
option d’ajout au fichier.
cat log.txt
#!/bin/bashdate | tee log1.txt log2.txt
Ce script imprime la date et l’heure sur le terminal et dans deux fichiers nommés log1.txt et log2.txt. Lisez le contenu des deux fichiers à l’aide cat
de la commande.
cat log1.txt log2.txt
Considérons un autre script bash simple qui prend une entrée et la stocke dans un fichier journal, à l’aide de la tee
commande.
#!/bin/bashlog_file="user_input.log"echo "Please enter some text:"read user_inputecho "$user_input" | tee -a "$log_file"echo "User input has been logged to $log_file"
Dans le script bash donné, définissez une variable appelée « log_file » et attribuez-lui le nom du fichier journal que vous souhaitez utiliser, tel que « user_input.log ». Ensuite, utilisez la echo
commande et la read
commande pour vous inviter à saisir du texte et à le stocker dans une variable. Ensuite, utilisez la tee
commande avec l’ -a
option pour afficher l’entrée d’entrée sur le terminal et l’ajouter au fichier journal.
Enfin, utilisez echo
à nouveau la commande pour donner votre avis. Cela vous indiquera que votre entrée a été enregistrée dans le fichier. De cette façon, il vous permet de créer un script bash qui enregistre votre entrée dans un fichier journal et l’affiche à l’écran.
Exécutez le script bash à l’aide bash
de la commande.
bash test.sh
Surveillance des processus sur votre système Linux
Pour garder un œil sur le fonctionnement de votre système Linux, vous devez observer les activités de ses processus. Cela inclut l’utilisation du processeur et de la mémoire, les E/S du disque et l’activité réseau.
Comme la tee
commande, Linux dispose de plusieurs autres commandes qui vous aident à surveiller facilement les processus. Certaines des commandes principales incluent les commandes ps , top et pgrep . Les systèmes Linux exécutent souvent plusieurs processus simultanément. À l’aide de ces commandes, vous pouvez hiérarchiser les tâches critiques, allouer les ressources de manière appropriée et éviter les conflits de ressources.
Laisser un commentaire