FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Comment enregistrer la sortie de la ligne de commande dans un fichier sous Windows, Mac et Linux

Lorsque vous exécutez une commande dans une fenêtre de terminal, la sortie de la commande est normalement imprimée sur le terminal ou sur l'écran, vous pouvez donc la lire immédiatement. Vous pouvez également imprimer la sortie d'une commande dans un fichier, si vous souhaitez l'enregistrer.

L'enregistrement de la sortie d'une commande dans un fichier est utile si vous essayez de diagnostiquer un problème. Pour obtenir de l'aide du support technique, vous devrez peut-être exécuter certaines commandes sur votre ordinateur et envoyer les résultats à l'équipe de support. C'est facile en utilisant la redirection de sortie sur la ligne de commande.

Aujourd'hui, nous verrons comment envoyer la sortie d'une commande vers un fichier texte dans le shell bash sous Windows, Mac et Linux.

Remarque : Nous utiliserons le terminal Mac dans notre exemple, mais cela fonctionne de la même manière dans le shell bash sous Linux et dans le nouveau shell bash sous Windows 10.

Rediriger la sortie vers un fichier uniquement

Il existe deux opérateurs pour rediriger la sortie d'une commande vers un fichier au lieu de l'écran.

Le > Le symbole crée un nouveau fichier s'il n'est pas présent ou écrase le fichier s'il existe déjà. Le >> crée également un nouveau fichier s'il n'est pas présent, mais il ajoute le texte à la fin du fichier s'il existe déjà, plutôt que d'écraser le fichier.

Pour rediriger la sortie d'une commande vers un fichier, tapez la commande, spécifiez le > ou le >> opérateur, puis indiquez le chemin d'accès au fichier vers lequel vous souhaitez que la sortie soit redirigée. Par exemple, la commande ls répertorie les fichiers et dossiers du répertoire en cours. Lorsque vous exécutez la commande suivante, la liste des fichiers et des dossiers sera écrite dans ls_output.txt fichier dans TerminalOutput dossier.

Remplacez /chemin/vers/fichier avec le chemin complet du fichier que vous souhaitez utiliser.

ls> /chemin/vers/fichier 

C'est la commande de notre exemple.

ls> /Users/lorikaufman/TerminalOutput/ls_output.txt 

Pour afficher le contenu du fichier dans la fenêtre du terminal, utilisez le cat commande comme indiqué dans la commande suivante. Encore une fois, remplacez /path/to/file avec le chemin d'accès complet au fichier que vous souhaitez afficher.

cat /path/to/file 
Comment enregistrer la sortie de la ligne de commande dans un fichier sous Windows, Mac et Linux

Le > remplace le contenu d'un fichier existant chaque fois que vous l'utilisez pour rediriger la sortie. Si vous souhaitez enregistrer la sortie de plusieurs commandes dans un seul fichier, utilisez le >> opérateur à la place. Cela ajoute la sortie d'une commande à la fin du fichier spécifié, s'il existe déjà. Si le fichier n'existe pas, il en crée un nouveau.

Par exemple, nous ajouterons les informations système à la fin du fichier que nous avons créé ci-dessus. Ainsi, dans la ligne suivante, uname -a est la commande, suivie de >> opérateur de redirection. Ensuite, le chemin complet du fichier auquel nous voulons ajouter la sortie du uname commande.

Le -a paramètre dans le uname La commande imprime toutes les informations système disponibles.

uname -a>> /Users/lorikaufman/TerminalOutput/ls_output.txt 

Pour afficher le fichier avec les informations ajoutées dans la fenêtre du terminal, entrez la commande suivante, avec le chemin d'accès complet à votre fichier.

cat /Users/lorikaufman/TerminalOutput/ls_output.txt 

Répétez ce processus autant de fois que nécessaire pour continuer à ajouter la sortie de la commande à la fin du fichier.

Comment enregistrer la sortie de la ligne de commande dans un fichier sous Windows, Mac et Linux

Voici un autre exemple d'envoi de la sortie du ls commande sous forme d'arborescence de répertoires, avec des sous-répertoires répertoriés de manière récursive (le R paramètre) et un fichier par ligne (le 1 paramètre).

ls -1R> /Users/lorikaufman/TerminalOutput/dir_tree.txt 

Ensuite, nous utilisons le chat commande, comme mentionné précédemment pour afficher le contenu du fichier dans la fenêtre du terminal.

cat /Users/lorikaufman/TerminalOutput/dir_tree.txt 
Comment enregistrer la sortie de la ligne de commande dans un fichier sous Windows, Mac et Linux

Le > et >> les opérateurs n'affichent pas la sortie d'une commande à l'écran. La sortie est uniquement envoyée vers un fichier.

Si vous souhaitez envoyer la sortie vers un fichier et la voir à l'écran, utilisez le commande au lieu de > et >> opérateurs.

Pour utiliser le commande, vous devez rediriger la sortie de la commande que vous exécutez, comme ls , jusqu'au tee commande, à l'aide de l'opérateur pipe, une barre verticale (| ). Par exemple, la commande suivante prend la sortie de ls commande et le dirige dans le commander. Le commande envoie ensuite cette sortie à l'écran et à un fichier que vous spécifiez en utilisant le chemin d'accès complet au fichier.

ls | tee /Users/lorikaufman/TerminalOutput/ls_output.txt 

La commande ci-dessus remplace tout le contenu du fichier ou en crée un nouveau s'il n'existe pas, tout comme > opérateur. Nous avons utilisé le chat suivant commande pour afficher le contenu de notre fichier dans la fenêtre du terminal.

cat /Users/lorikaufman/TerminalOutput/ls_output.txt 
Comment enregistrer la sortie de la ligne de commande dans un fichier sous Windows, Mac et Linux

Pour utiliser le pour imprimer la sortie à l'écran et l'ajouter à la fin d'un fichier, entrez la commande suivante. Ici, nous ajoutons des informations système complètes à la fin du fichier en utilisant le uname -a commande, tout comme nous l'avons fait avec le >> opérateur, mais en envoyant également la sortie à l'écran.

uname -a | tee -a /Users/lorikaufman/TerminalOutput/ls_output.txt 
Comment enregistrer la sortie de la ligne de commande dans un fichier sous Windows, Mac et Linux

La commande suivante est le tee version d'impression récursive d'une arborescence de répertoires dans un fichier et à l'écran, un fichier sur chaque ligne, comme nous l'avons fait avec le > opérateur.

ls -1R | tee /Users/lorikaufman/TerminalOutput/dir_tree.txt 

Ensuite, nous utilisons le chat commande à nouveau pour afficher le contenu du fichier.

cat /Users/lorikaufman/TerminalOutput/dir_tree.txt 
Comment enregistrer la sortie de la ligne de commande dans un fichier sous Windows, Mac et Linux

Mais attendez, il y a plus

Il existe de nombreuses autres façons de rediriger la sortie, y compris les erreurs, vers un fichier. Vous pouvez en savoir plus sur les différents opérateurs et commandes utilisés pour rediriger la sortie dans le chapitre I/O Redirection du Advanced Bash Scripting Guide.

Les utilisateurs de Mac doivent également mettre en signet notre aide-mémoire sur les commandes du terminal Mac.


[]