Mise en pause de la sortie du terminal

17

J'ai une commande qui sort beaucoup de données (disons, strace avec beaucoup de syscalls, en cours d'exécution pendant quelques minutes).

Y a-t-il une option (par exemple, l'encapsuleur de commandes ou quelque chose de similaire) qui me permettrait de suspendre la sortie de la commande (juste la sortie à l'écran, cela ne me dérange pas que la commande s'exécute en arrière-plan), puis de la suspendre après avoir pris un regard sur sa sortie?

syntagme
la source

Réponses:

32

Vous avez trois options:

  • appuyez controlSpour arrêter la sortie, controlQpour reprendre (cela s'appelle XON / XOFF)
  • redirigez votre sortie vers un pager tel que less, par exemple,strace date | less
  • redirigez votre sortie vers un fichier, par exemple strace -o foo date, et parcourez-le plus tard.
Thomas Dickey
la source
7
Notez que l'arrêt de la sortie avec l'une des deux premières options ici entraînera également une pause du programme de génération de données, pendant qu'il attend que le flux de sortie soit consommé.
Kusalananda
0

utilisez le | pipe par exemple

ifconfig -a | more

cela listera jusqu'à ce que l'écran soit plein et on peut ensuite faire défiler plus loin en appuyant sur Entrée / Retour.

chi onyenkwu
la source