47

Я выполнял сценарии в одночасье из командной строки (внутри экрана на экземпляре Linux EC2), и возникли некоторые ошибки, которые я не отслеживал. Я хочу "прокрутить вверх" или просмотреть больше истории на экране, но я не могу найти какие-либо команды, которые будут работать.

Мне нужно видеть вывод на экран "дальше", чем на текущем экране. CTRL + a должен перевести меня в режим прокрутки внутри экрана, но он не работает.

6 ответов6

64

Предполагая, что вы не изменили свою escape-последовательность, вы можете нажать Ctrl-a [ чтобы перейти в режим прокрутки, а затем использовать обычные Page-UP/Page-DOWN или Ctrl-b/Ctrl-f для перемещения вверх и вниз.

Из вики Gentoo по использованию экрана

28

Когда вы запускаете экран, вы можете указать размер буфера прокрутки с помощью -h, чтобы вы могли увеличить его по умолчанию до 100 строк. Однако на текущем экране, когда данные покидают буфер, они исчезают.

7

Вы также можете запустить свои команды в команде script которая будет записывать вывод на диск. Или вы можете: command 2>&1 | tee /tmp/cmd.out для записи выходных данных для будущих исследований, в которых вы хотели (практически) бесконечный размер выходной истории.

3

Вы также можете изменить размер истории прокрутки на рабочем экране с помощью последовательности CTRL-a : (войти в режим командной строки экрана), затем scrollback 10000 если вы хотите 10k строк буфера истории. Изменение вступает в силу немедленно.

Будьте осторожны с использованием памяти, если вы используете много экранов с очень длинными буферами.

Однако, как сказал @William Pursell, с текущим экраном, когда данные покидают буфер, они исчезают.

0

Мне нужно видеть вывод на экран "дальше", чем на текущем экране. CTRL + a должен перевести меня в режим прокрутки внутри экрана, но он не работает.

В дополнение к другим ответам я хотел бы указать, что вы можете добавить в свой файл ~/.screenrc :

defscrollback 100000
termcapinfo xterm ti@:te@

где:

  • defscrollback 100000: установить количество строк прокрутки по умолчанию равным 100000
  • termcapinfo xterm ti@:te@: разрешить прокрутку терминала в xterm или PuTTY. (экран FAQ ; PuTTY FAQ)
0

В зависимости от того, какую терминальную программу вы используете, вы можете изменить буфер прокрутки в разделе «Настройки». Я знаю, что для xterm сначала нужно включить прокрутку, а затем установить бесконечный буфер.

Однако для логирования сценариев лучше всего было бы перенаправить стандартный вывод в файл:

ScriptName >> OutputFile.txt

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

РЕДАКТИРОВАТЬ: Это близко к решению трубопровода выше, однако перенаправление стандартного ввода может быть полезно и в других случаях:

grep linux stackoverflow.txt > linuxquestions.txt

или же

cat linuxquestions.txt | grep buffersize > bufferquestions.txt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .