Comment enregistrer la sortie d'une commande dans un fichier dans Bash (aka Terminal Linux et macOS)

Table des matières:

Comment enregistrer la sortie d'une commande dans un fichier dans Bash (aka Terminal Linux et macOS)
Comment enregistrer la sortie d'une commande dans un fichier dans Bash (aka Terminal Linux et macOS)

Vidéo: Comment enregistrer la sortie d'une commande dans un fichier dans Bash (aka Terminal Linux et macOS)

Vidéo: Comment enregistrer la sortie d'une commande dans un fichier dans Bash (aka Terminal Linux et macOS)
Vidéo: Câble informatique ethernet RJ45 posé n'importe comment - YouTube 2024, Avril
Anonim
Lorsque vous exécutez une commande à l'invite bash, il affiche normalement le résultat de cette commande directement sur le terminal afin que vous puissiez le lire immédiatement. Mais bash vous permet également de «rediriger» le résultat de n’importe quelle commande, en l’enregistrant dans un fichier texte afin que vous puissiez revoir le résultat ultérieurement.
Lorsque vous exécutez une commande à l'invite bash, il affiche normalement le résultat de cette commande directement sur le terminal afin que vous puissiez le lire immédiatement. Mais bash vous permet également de «rediriger» le résultat de n’importe quelle commande, en l’enregistrant dans un fichier texte afin que vous puissiez revoir le résultat ultérieurement.

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.

Première option: 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 rediriger la sortie.

  • >

    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 du répertoire en cours. Alors. lorsque vous exécutez la commande suivante,

ls

listera les fichiers et les dossiers du répertoire en cours. Mais il ne les imprimera pas à l’écran, il les enregistrera dans le fichier que vous spécifiez.

ls > /path/to/file

Il n'est pas nécessaire de spécifier le chemin d'accès à un fichier existant. Spécifiez tout chemin valide et bash créera un fichier à cet emplacement.

Si vous affichez le contenu du fichier, vous verrez le
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
Se souvenir du

>

L'opérateur remplace le contenu existant du fichier par le résultat de la commande. Si vous souhaitez enregistrer la sortie de plusieurs commandes dans un seul fichier, vous utiliserez 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 le créera. Sinon, bash laissera le contenu existant du fichier seul et ajoutera le résultat à 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 ajouter des sorties à la fin du fichier.
Vous pouvez répéter ce processus autant de fois que vous le souhaitez pour ajouter des sorties à la fin du fichier.

Deuxième option: imprimer normalement et le rediriger vers un fichier

Vous pourriez ne pas aimer rediriger la sortie avec le

>

ou

>>

opérateurs, car vous ne verrez pas le résultat de la commande dans le terminal. C’est ce que le

tee

commande est pour. La commande tee imprime l'entrée reçue à 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 le résultat de la commande, tout comme le

>

opérateur.

Pour diriger la sortie d'une commande vers
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

Ceci ajoutera la sortie à la fin du fichier, tout comme le

>>

opérateur.

Conseillé: