Existe-t-il un moyen d'enregistrer toute la sortie du terminal dans un fichier avec une commande ?
- Je ne parle pas de la redirection
command > file.txt
- Pas l'historique
history > file.txt
, j'ai besoin du texte complet du terminal - Pas avec les raccourcis !
Quelque chose comme terminal_text > file.txt
Réponse acceptée :
Vous pouvez utiliser script
. Il enregistrera essentiellement tout ce qui est imprimé sur le terminal dans ce script
séance.
À partir de man script
:
script makes a typescript of everything printed on your terminal.
It is useful for students who need a hardcopy record of an
interactive session as proof of an assignment, as the typescript file
can be printed out later with lpr(1).
Vous pouvez démarrer un script
session en tapant simplement script
dans le terminal, toutes les commandes suivantes et leurs sorties seront toutes enregistrées dans un fichier nommé typescript
dans le répertoire courant. Vous pouvez également enregistrer le résultat dans un autre fichier en démarrant simplement script
comme :
script output.txt
Pour se déconnecter du script
session (arrêtez d'enregistrer le contenu), tapez simplement exit
.
Voici un exemple :
$ script output.txt
Script started, file is output.txt
$ ls
output.txt testfile.txt foo.txt
$ exit
exit
Script done, file is output.txt
Maintenant, si je lis le fichier :
$ cat output.txt
Script started on Mon 20 Apr 2015 08:00:14 AM BDT
$ ls
output.txt testfile.txt foo.txt
$ exit
exit
Script done on Mon 20 Apr 2015 08:00:21 AM BDT
script
a également de nombreuses options, par ex. s'exécute silencieusement -q
(--quiet
) sans afficher/enregistrer les messages du programme, il peut également exécuter une commande spécifique -c
(--command
) plutôt qu'une session, il propose également de nombreuses autres options. Vérifiez le man script
pour avoir plus d'idées.