Приостановка вывода терминала

17

У меня есть команда, которая выводит много данных (скажем, strace с большим количеством системных вызовов, выполняющихся в течение нескольких минут).

Есть ли какая-либо опция (например, командная оболочка или что-то подобное), которая позволила бы мне приостановить вывод команды (только вывод на экране, я не против выполнения команды в фоновом режиме), а затем отменить ее после того, как посмотрите на его вывод?

синтагма
источник

Ответы:

32

У вас есть три варианта:

  • нажмите, controlSчтобы остановить вывод, controlQчтобы возобновить (это называется XON / XOFF)
  • перенаправить вывод на пейджер, такой как less, например,strace date | less
  • перенаправить вывод в файл, например strace -o foo date, и просмотреть его позже.
Томас Дики
источник
7
Обратите внимание, что остановка вывода с помощью любой из двух первых опций приведёт к тому, что программа генерирования данных также приостановит работу, ожидая, пока поток вывода будет использован.
Кусалананда
0

использовать | труба например

ifconfig -a | more

он будет отображаться до тех пор, пока экран не будет заполнен, и затем можно будет прокрутить дальше, нажав Return / Enter.

чи оненкву
источник