accueil > Gestion des fichiers et répertoires > tee

tee : Envoyer l'entrée standard vers la sortie standard et des fichiers simultanément

La commande tee est un utilitaire qui lit l'entrée standard et l'écrit à la fois sur la sortie standard et sur un ou plusieurs fichiers. Elle est couramment utilisée pour vérifier les résultats intermédiaires dans les pipelines ou pour enregistrer des données dans plusieurs fichiers simultanément. L'option `-a` est utilisée pour ajouter du contenu à un fichier au lieu de l'écraser.

Aperçu

La commande tee fonctionne comme un pipeline en forme de 'T', envoyant les données d'entrée standard vers la sortie standard tout en les enregistrant dans des fichiers spécifiés. Ceci est très utile pour surveiller les résultats intermédiaires dans un pipeline ou pour enregistrer les mêmes données dans plusieurs emplacements. Par défaut, elle écrase le contenu des fichiers existants, mais l'option `-a` permet d'ajouter du contenu aux fichiers existants.

Caractéristiques principales

  • Transmission simultanée de l'entrée standard vers la sortie standard et les fichiers
  • Écrasement ou ajout de contenu aux fichiers
  • Utile pour vérifier les résultats intermédiaires dans les pipelines

Options principales

Les options principales de la commande tee contrôlent la manière dont les données sont écrites dans les fichiers.

Mode d'écriture

Commande générée :

Essayez de combiner les commandes.

Description:

`tee` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples d'utilisation

Divers exemples d'utilisation de la commande tee.

Écraser la sortie standard dans un fichier

echo "Hello World" | tee output.txt

Comportement par défaut, écrase le contenu du fichier s'il existe.

Ajouter la sortie standard à un fichier

echo "Another line" | tee -a output.txt

Utilise l'option `-a` pour ajouter du nouveau contenu à la fin du contenu existant du fichier.

Écrire simultanément dans plusieurs fichiers

ls -l | tee file1.txt file2.txt

Vous pouvez spécifier plusieurs chemins de fichiers pour écrire le même contenu simultanément.

Écrire dans un fichier avec les privilèges sudo

echo "Restricted content" | sudo tee -a /var/log/system.log

Utile pour écrire du contenu dans des fichiers système auxquels un utilisateur normal n'a pas accès en écriture.

Vérifier les résultats intermédiaires d'un pipeline

cat /etc/passwd | grep "root" | tee root_users.txt | wc -l

Utilise tee au milieu d'un pipeline pour enregistrer les données dans un fichier tout en les transmettant à la commande suivante.

Conseils et précautions

Conseils utiles et points à considérer lors de l'utilisation de la commande tee.

Utilisation avec sudo

  • `sudo tee` est très utile pour écrire du contenu dans des fichiers auxquels un utilisateur normal n'a pas les droits d'écriture. Alors que `echo "contenu" > /chemin/vers/fichier_protege` ne sera pas affecté par `sudo` car la redirection est gérée par le shell, `echo "contenu" | sudo tee /chemin/vers/fichier_protege` permet à la commande `tee` de s'exécuter avec les privilèges `sudo` pour écrire dans le fichier.

Utilisation des pipelines

  • `tee` agit comme un point de branchement dans un pipeline. Il permet aux données d'être transmises à la commande suivante tout en étant enregistrées dans un fichier, ce qui le rend efficace pour le débogage ou la journalisation.

Importance de l'option -a

  • Sans l'option `-a`, `tee` écrase par défaut le contenu des fichiers. Lors de l'ajout de données à des fichiers importants comme les fichiers journaux, il est essentiel d'utiliser l'option `-a` pour préserver le contenu existant.

commandes associées

Des commandes fonctionnellement similaires ou souvent utilisées ensemble.


Commandes de la même catégorie