Comment obtenir et copier complètement une sortie trop longue dans le terminal?


8

Dans le terminal, une commande a une sortie trop longue. Mais quand je fais défiler en arrière, je vois qu'il est tronqué et que seule la dernière partie est affichée. Dans Gnome-Terminal et Konsole, j'ai ce problème. Dans xterm, il n'y a pas un tel problème mais je ne peux pas copier la sortie dans xterm.

Comment puis-je obtenir la sortie complète?


Réponses:


5

Je sais que dans le terminal xfce4, il existe une option pour augmenter le nombre de lignes affichées:

entrez la description de l'image ici

Pour Ubuntu Terminal entrez la description de l'image ici

En plus de cela, il y a ce que @ Zelda64fan a dit.


+1 Pipe et teene sont pas optimaux car ne fonctionnent pas sur quelques cas comme prendre unHROOT 3NVIORTNM3NT
22lk94k943 seulement le

9

Vous pouvez envoyer la sortie vers un fichier: command > file.txt(où commandest la commande que vous souhaitez exécuter et file.txtle fichier dans lequel vous souhaitez l'enregistrer), puis l'afficher avec gedit file.txt.


8

Utilisez xclip

cat long.output | xclip -sel clip

S'il n'est pas installé, vous pouvez le faire

sudo apt-get install xclip

Celui-ci est mon préféré pour les terminaux GUI. Avec TTY, cela ne fonctionnera pas, malheureusement, seule la redirection vers un fichier y aidera
Sergiy Kolodyazhnyy

5

Si vous n'avez pas besoin toute la production, vous pourriez restreindre grâce à: command | less. Cela éviterait également de devoir supprimer le fichier une fois que vous avez examiné la sortie.


lessla sortie est assez difficile à copier.
Sparhawk

2

Dans xterm, la copie automatique sur sélection devrait être la valeur par défaut. Essayez de cliquer trois fois puis utilisez un bouton central de la souris (ou un troisième bouton émulé) pour coller.

La même chose devrait fonctionner avec d'autres terminaux, mais vous devez copier et coller manuellement.

Il existe de nombreuses façons de procéder. J'aime utiliser scriptdans certains cas. Tapez «script» à partir d'une ligne de commande pour le démarrer avant de lancer une commande à partir de la ligne de commande, puis appuyez sur Ctrl-D pour arrêter. Si vous ne spécifiez pas de nom de fichier de capture, «tapuscrit» est la valeur par défaut. Tout ce qui est imprimé à l'écran doit être capturé dans le fichier.


2

Enregistrez la sortie de la console dans un fichier:

  1. tee commander

Commande tee - lire depuis l'entrée standard et écrire sur la sortie standard et les fichiers.

Il crée automatiquement un fichier et enregistre toute la sortie de cmd ps -axdans un fichier nommé comme processes_infodans le même dossier à partir duquel la cmd a été exécutée.

user@admin:~$ ps -ax | tee processes_info
  1. script commander

commande de script - créer un script de la session du terminal.

user@admin:~$ script my_console_output.txt

Cela crée un fichier nommé comme my_console_output.txtet ouvrira un sous-shell et enregistre toutes les informations à travers cette session. Après cela, le script démarre et quelle que soit la sortie de la console, il sera stocké dans le fichier my_console_output.txt; à moins que et jusqu'à ce que le script se termine lorsque le shell fourchu se termine. (par exemple, lorsque l'utilisateur tape exitou quand CTRLDest tapé.)

user@admin:~$ script -c "ps ax" processes_info.txt
  • il démarre le script;
  • crée le fichier processes_info.txt;
  • stocke la sortie de la console dans le fichier;
  • terminer (fermer) le script.

    Autre exemple:

    script -c 'echo "Hello, World!"' hello.txt
    

script -c "rails runner -e development lib/scripts/my_script.rb" report.txtm'a aidé à capturer facilement la très très très longue sortie d'un script de runner Rails dans un fichier. J'ai essayé d'utiliser la redirection vers un fichier, mais il n'a été écrit qu'à la fin du script. Cela ne m'a pas aidé car j'avais peu de commandes interactives dans mon script. Ensuite, je l'ai utilisé uniquement scriptsur mon, puis j'ai exécuté la rails runnersession de script, mais il n'a pas tout écrit. Ensuite, j'ai trouvé cela script -c "runner command here" output_fileet il a enregistré toutes les sorties comme souhaité. C'était sur Ubuntu 14.04 LTS
Jignesh Gohel
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.