in

Comment enregistrer la sortie d’une commande dans un fichier dans Bash (aka le terminal Linux et macOS)

Lorsque vous exécutez une commande à l’invite bash, elle imprime normalement la sortie de cette commande directement sur le terminal afin que vous puissiez la lire immédiatement. Mais bash vous permet également de «rediriger» la sortie de n’importe quelle commande, en l’enregistrant dans un fichier texte afin que vous puissiez revoir la sortie plus tard.

Cela fonctionne en bash sur n’importe quel système d’exploitation, de Linux et macOS à l’environnement bash basé sur Ubuntu de Windows 10.

Option 1: rediriger la sortie vers un fichier uniquement

Pour utiliser la redirection bash, vous exécutez une commande, spécifiez le > ou >> opérateur, puis indiquez le chemin du fichier vers lequel vous souhaitez que la sortie soit redirigée.

  • > redirige la sortie d’une commande vers un fichier, en remplaçant le contenu existant du fichier.
  • >> redirige la sortie d’une commande vers un fichier, en ajoutant la sortie au contenu existant du fichier.

Techniquement, cela redirige «stdout» – la sortie standard, qui est l’écran – vers un fichier.

Voici un exemple simple. Le ls La commande répertorie les fichiers et les dossiers dans le répertoire actuel. Alors. lorsque vous exécutez la commande suivante, ls listera les fichiers et dossiers dans le répertoire actuel. Mais il ne les imprimera pas à l’écran – il les enregistrera dans le fichier que vous spécifiez.

ls > /path/to/file

Vous n’avez pas à spécifier le chemin d’accès à un fichier existant. Spécifiez n’importe quel chemin valide et bash créera un fichier à cet emplacement.

Si vous affichez le contenu du fichier, vous verrez le ls sortie de la commande. Par exemple, le cat La commande imprime le contenu d’un fichier sur le terminal:

cat /path/to/file

Se souvenir du > L’opérateur remplace le contenu existant du fichier par la sortie de la commande. Si vous souhaitez enregistrer la sortie de plusieurs commandes dans un seul fichier, utilisez le >> opérateur à la place. Par exemple, la commande suivante ajoutera des informations système au fichier que vous spécifiez:

uname -a >> /path/to/file

Si le fichier n’existe pas déjà, bash créera le fichier. Sinon, bash laissera le contenu existant du fichier seul et ajoutera la sortie à la fin du fichier.

Lorsque vous affichez le contenu du fichier, vous verrez que les résultats de votre deuxième commande ont été ajoutés à la fin du fichier:

Vous pouvez répéter ce processus autant de fois que vous le souhaitez pour continuer à ajouter la sortie à la fin du fichier.

Option deux: imprimer la sortie normalement et la rediriger vers un fichier

Vous n’aimerez peut-être pas rediriger la sortie avec le > ou >> opérateurs, car vous ne verrez pas la sortie de la commande dans le terminal. C’est ce que le tee la commande est pour. La commande tee imprime l’entrée qu’elle reçoit à l’écran et l’enregistre dans un fichier en même temps.

Pour diriger la sortie d’une commande vers tee, en l’imprimant sur votre écran et en l’enregistrant dans un fichier, utilisez la syntaxe suivante:

command | tee /path/to/file

Cela remplacera tout ce qui se trouve dans le fichier par la sortie de la commande, tout comme le > opérateur.

Pour diriger la sortie d’une commande vers tee , en imprimant sur votre écran et en l’enregistrant dans un fichier, mais en l’ajoutant à la fin du fichier:

command | tee -a /path/to/file

Cela ajoutera la sortie à la fin du fichier, tout comme le >> opérateur.

Le shell bash comprend des opérateurs avancés supplémentaires qui exécutent des fonctions similaires. Ils seront particulièrement utiles si vous écrivez des scripts bash. Consultez le Redirection d’E / S chapitre dans le Advanced Bash-Scripting Guide pour des informations plus détaillées.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Obtenez un accès de base à WHS à partir d'un iPhone ou d'un iPod Touch sans installer d'applications

Obtenez un accès de base à WHS à partir d’un iPhone ou d’un iPod Touch sans installer d’applications

Benchmark des temps de démarrage des applications logicielles avec AppTimer

Benchmark des temps de démarrage des applications logicielles avec AppTimer