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 ~ | tee list.txt »
Le tee
La commande peut enregistrer le résultat de vos commandes pour une révision ultérieure. Cette commande affiche non seulement la sortie à l’écran, mais l’enregistre également dans un fichier journal séparé. Supposons que vous souhaitiez sauvegarder la sortie du df
commande dans un fichier afin que vous puissiez suivre votre utilisation de l’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 ?
Le Linux tee
La commande est un outil utile pour gagner du temps et améliorer l’efficacité sous Linux. Il peut lire l’entrée standard (stdin
) et écrivez-le sur la sortie standard (stdout
) et le ou les fichiers que vous spécifiez. Le tee
La 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.
Le tee
la 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 le tee
commande pour effectuer des sauvegardes, rechercher des erreurs dans les scripts et suivre les journaux système.
Le tee
La commande vous permet également de le canaliser avec 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 le tee
commande préinstallée, qui fait partie du package Coreutils.
Le tee
La commande suit une syntaxe similaire à celle des autres commandes Linux. Il a deux arguments, –OPTIONS et FILES :
tee [OPTION]... [FILE]...
Pour savoir quelle version du tee
commande que vous utilisez, exécutez simplement la commande suivante :
tee --version
Si vous avez besoin d’aide avec la syntaxe et les arguments disponibles pour le tee
commande, tapez ceci :
tee --help
Options de commande de tee
Le tee
La commande dispose de plusieurs options pour modifier sa fonctionnalité. Le tableau ci-dessous présente quelques options qui vous aideront à utiliser le tee
commander efficacement :
|
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. |
|
Afficher le |
Enregistrer la sortie dans un fichier sous Linux à l’aide de tee
Le tee
La commande enregistre la sortie d’une commande dans un fichier tout en l’affichant également sur le terminal. Par exemple, le tee
La 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, canalisez le tee
commande avec ls
commande 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
commande.
cat list.txt
Faisons un autre exemple avec un echo
commande pour enregistrer et afficher la sortie. Tout d’abord, utilisez le echo
commande pour imprimer du texte sur le terminal. Après cela, j’ai diffusé le tee
commande avec le echo
commande pour écrire le même texte dans un fichier appelé « output.txt ».
echo "Welcome to Ubuntu" | tee output.txt
Enfin, utilisez le cat
commande pour vérifier le contenu du fichier « output.txt ».
cat output.txt
Écrire la sortie dans plusieurs fichiers sous Linux à l’aide de tee
Le tee
La commande peut également écrire la sortie dans plusieurs fichiers simultanément. Il vous suffit de définir les noms de fichiers après le tee
commande dans laquelle vous souhaitez écrire. Séparez-les simplement par des espaces.
Par exemple, pour enregistrer la sortie du echo
commande vers 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 le cat
ou head
commande:
head -v file1.txt file2.txt file3.txt
De même, le cat
La commande affichera également la sortie identique :
cat -v file1.txt file2.txt file3.txt
Vous pouvez écrire la sortie dans n’importe quel nombre de fichiers avec le tee
commande. Tapez simplement les noms de fichiers après le tee
commande avec des espaces entre eux.
Ajouter la sortie à un fichier à l’aide de tee
Le tee
La commande sous Linux écrase le contenu du fichier par défaut. Le -a
ou --append
possibilité avec le tee
La commande vous permet d’ajouter la sortie à la fin des fichiers au lieu de remplacer leur contenu.
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 le 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 le /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 un moyen de masquer la sortie du 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 le cachera efficacement de l’écran. Cependant, le cat
La commande vous permettra de vérifier la sortie en affichant le contenu du fichier :
cat output.txt
Rediriger la sortie d’une commande vers une autre à l’aide de tee
Le tee
La commande peut également rediriger la sortie d’une commande vers un fichier ou toute autre commande. Le tee
La 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
Le résultat de la commande « Bienvenue sur Ubuntu » est écrit dans le fichier output.txt. Après cela, l’opérateur du pipeline est utilisé avec le tee
commande. Cela transmettra le contenu du fichier au wc
commande. Le wc
La commande affichera le nombre total de caractères comptés et affichera une valeur entière.
Pour vérifier si le tee
La commande a également écrit la sortie dans un fichier, utilisez le cat
commande pour afficher le contenu du fichier :
cat output.txt
Utiliser la commande tee avec sudo
Lorsque vous utilisez le tee
commande, il écrit la sortie 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
en collaboration avec sudo
.
Dans l’exemple ci-dessous, lorsque vous essayez d’écrire un fichier « file.conf » appartenant à root 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 le sudo
avec le tee
commande, cela s’exécutera sans aucune erreur. Vous pouvez utiliser le sudo
commande pour exécuter le tee
commande en tant qu’utilisateur root ou propriétaire du fichier. Ajoutez simplement un préfixe sudo
avec le tee
commande:
echo "This is Ubuntu" | sudo tee -a /etc/file.conf
Premièrement la tee
la commande prendra le echo
sortie de commande. Après cela, il s’élève à sudo
autorisations et écrit le texte dans le fichier.
Exemples d’utilisation de tee dans un script Bash
Le tee
La 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. Le tee
La 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/bash
date | 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. Le tee
La 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 le -a
option à ajouter au fichier.
cat log.txt
Vous pouvez également utiliser le tee
commande pour écrire dans plusieurs fichiers en spécifiant plus de noms de fichiers comme arguments.
#!/bin/bash
date | 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 en utilisant cat
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, en utilisant le tee
commande.
#!/bin/bash
log_file="user_input.log"
echo "Please enter some text:"
read user_input
echo "$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 le echo
commande et le read
commande pour vous inviter à saisir du texte et à le stocker dans une variable. Ensuite, utilisez le tee
commande avec le -a
option pour afficher l’entrée entrée sur le terminal et l’ajouter au fichier journal.
Enfin, utilisez le echo
commandez à nouveau 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 en utilisant bash
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. L’identification des goulots d’étranglement en matière de performances permet d’optimiser les ressources du système et de garantir que votre système fonctionne efficacement.
Comme le tee
commande, Linux dispose de plusieurs autres commandes qui vous aident à surveiller facilement les processus. Certaines des commandes principales incluent ps
, top
et pgrep
commande. 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.