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

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

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, ce qui vous permet de la lire immédiatement. Vous pouvez également imprimer le résultat d’une commande dans un fichier si vous souhaitez l’enregistrer..

L'enregistrement du résultat d'une commande dans un fichier est utile si vous essayez de diagnostiquer un problème. Pour obtenir 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. Ceci est facile en utilisant la redirection de sortie sur la ligne de commande.

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

Remarque: Nous utiliserons le terminal Mac. Ces 6 commandes de terminal impressionnantes dynamiseront votre MacBook. Ces 6 commandes de terminal impressionnantes dynamiseront votre MacBook. Vous ne pouvez vous en tenir à une telle partie de l'interface utilisateur graphique avant qu'elle ne devienne encombrée. vous pouvez faire des choses vraiment cool en utilisant le terminal Mac. Lisez plus dans notre exemple, mais cela fonctionne de la même manière dans le shell bash sous Linux 40+ Commandes de terminaux Linux les plus utilisées 40+ Commandes de terminaux Linux les plus utilisées Si vous débutez ou si vous êtes simplement curieux de connaître le terminal Linux, voici la commandes les plus courantes qui vous feront traverser votre temps sous Linux. En savoir plus et dans le nouveau shell bash de Windows 10 Guide rapide de Linux Bash Shell sous Windows 10 Guide rapide de Linux Bash Shell sous Windows 10 Vous pouvez maintenant exécuter Linux sous Windows. En savoir plus sur Bash sous Windows, en expliquant comment et pourquoi vous devez l’installer, en passant par des fonctionnalités cachées que vous ne connaissiez probablement pas. Lire la suite .

Rediriger la sortie vers un fichier uniquement

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

le > symbol 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 ajoute le texte à la fin du fichier s'il existe déjà, plutôt que d'écraser le fichier.

Note to self: lorsque vous redirigez une sortie de script shell vers un fichier, elle ne sera pas affichée sur la console :-) #StupidMe

- Xavier Mertens? (@xme) 5 août 2017

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

Remplacer / chemin / vers / fichier avec le chemin complet du fichier que vous voulez utiliser.

ls> / chemin / vers / fichier

C'est la commande pour notre exemple.

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

Pour afficher le contenu du fichier dans la fenêtre du terminal, utilisez la commande chat comme indiqué dans la commande suivante. Encore une fois, remplacez / chemin / vers / fichier avec le chemin complet du fichier que vous voulez voir.

cat / chemin / vers / fichier

le > L’opérateur 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 la commande >> opérateur à la place. Ceci ajoute le résultat 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 allons ajouter les informations système à la fin du fichier créé ci-dessus. Donc, dans la ligne suivante, uname -a est la commande, suivie de la >> opérateur de redirection. Ensuite, le chemin complet du fichier auquel nous voulons ajouter la sortie du fichier ton nom commander.

le -une paramètre dans le ton nom 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 le résultat de la commande à la fin du fichier..

Voici un autre exemple d’envoi de la sortie du ls commande en tant qu’arborescence, avec les sous-répertoires listé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 comme mentionné précédemment pour afficher le contenu du fichier dans la fenêtre du terminal.

cat /Users/lorikaufman/TerminalOutput/dir_tree.txt

Imprimer la sortie sur l'écran et le rediriger vers un fichier

le > et >> les opérateurs n’affichent pas le résultat d’une commande à l’écran. La sortie n'est envoyée qu'à un fichier.

Si vous voulez envoyer le résultat dans un fichier et le voir à l’écran, utilisez le bouton tee commande au lieu de > et >> les opérateurs.

Alerte nerd! Aujourd'hui, j'ai découvert la commande 'tee', qui dirige à la fois un fichier et une sortie standard. Unix continue à ravir. pic.twitter.com/aClIT8AdJB

- Zeke Sikelianos (@zeke) 29 août 2017

Pour utiliser le tee commande, vous devez diriger la sortie de la commande que vous exécutez, comme ls, au tee commande, à l’aide de l’opérateur de pipe, une barre verticale (|). Par exemple, la commande suivante prend la sortie du ls commande et passe dans le tee commander. le tee La commande envoie ensuite cette sortie à l'écran et à un fichier que vous spécifiez en utilisant le chemin complet du 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 le > opérateur. Nous avons utilisé ce qui suit chat commande pour afficher le contenu de notre fichier dans la fenêtre du terminal.

cat /Users/lorikaufman/TerminalOutput/ls_output.txt

Pour utiliser le tee 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, comme nous l'avons fait avec le >> opérateur, mais l'envoi de la sortie à l'écran aussi.

uname -a | tee -a /Users/lorikaufman/TerminalOutput/ls_output.txt

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

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

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

cat /Users/lorikaufman/TerminalOutput/dir_tree.txt

Mais attendez, il y a plus

Il existe de nombreuses autres manières de rediriger la sortie, y compris les erreurs, vers un fichier. Pour plus d'informations sur les différents opérateurs et commandes utilisés pour rediriger la sortie, reportez-vous au chapitre Redirection d'E / S du Guide de script Bash avancé. Vous pouvez également en savoir plus sur l’utilisation de la ligne de commande. Guide de démarrage rapide de la ligne de commande Linux Guide de démarrage rapide de la ligne de commande Linux Vous pouvez faire beaucoup de choses étonnantes avec des commandes sous Linux et ce n’est vraiment pas difficile à apprendre . Lire la suite .

J'ai appris une bonne leçon aujourd'hui. Ne redirigez pas la sortie du journal d'une boucle de 10 millions d'itérations en boucle vers un fichier txt. Résultat: fichier txt de 5 gb.

- ????????? Lloyd (@ lcarswell1) 21 mai 2017

Pourquoi utilisez-vous la redirection de sortie? Quelle méthode utilisez-vous? Avez-vous appris d'autres moyens de rediriger la sortie? Partagez vos pensées et expériences avec nous dans les commentaires ci-dessous.

Explorer plus sur: Linux Bash Shell, Terminal.