zaLinux.ru

Как в терминале поставить вывод на паузу


Некоторые программы выводят большое количество данных, либо часто обновляют вывод на экране. Обычно это удобно для получения информации в реальном времени, но вызывает проблемы, если нужно приостановить вывод для более тщательного изучения.

В этой небольшой заметке я расскажу, как поставить программу командной строки на паузу в Linux.

Примером программы, часто обновляющей информацию на экране, является i7z или top:

Чтобы приостановить выполнение программы, используйте сочетание клавиш CTRL+s, а чтобы продолжить работу программы и возобновить обновление экрана, нажмите CTRL+q (это называется. XON/XOFF).


Другой способ подходит для программ, которые последовательно выводят много строк на экран (а не обновляют содержимое экрана). Для таких случаев можно использовать less или аналогичную программу, которая делит вывод на страницы:

strace date | less

Чтобы выйти из less, нажмите клавишу q.

И ещё один вариант, также для программ, показывающим много строк, это перенаправление вывода в файл. То есть сохранение полученных данных в файл для последующего его изучения. Сохранить в файл можно как используя конструкцию со strace:

strace -o foo date

Либо с помощью встроенной опции в программу или используя символ перенаправления вывода >> (для замены содержимого файла используйте >, а для добавления к существующему содержимому >>):

man date >> curdate.txt

Остановка вывода с помощью первых двух опций, также приведёт к паузе в генерации данных пока программа ожидает запроса продолжения выходного потока. То есть, говоря проще, работа программы также приостановится.


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *