Як переглянути більше своєї історії на екрані на Linux?


46

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

Мені потрібно побачити екранне виведення "далі вгору", ніж я можу на поточному екрані. CTRL + a має ввести в режим прокручування всередині екрана, але він не працює.


history | less, more? Або ви запитуєте, як зберегти більше історії?

history буде зберігати тільки команди, які були запущені в оболонці. Він більше запитує про реєстрацію такого роду речей

<Shift> + <PgUp> єдиний варіант. І це також має певний межа (принаймні, останні 500 рядків).
ssapkota

Мені потрібно побачити екранне виведення "далі вгору", ніж я можу на поточному екрані. CTRL + a має ввести в режим прокручування всередині екрана, але це не працює для мене.
T. Brian Jones

1
Просто Ctrl-a є screen втечі. Уся послідовність клавіш для введення режиму прокрутки буде Ctrl-a [, як говорить опиат. Ctrl-a ESC також працює для мене, я не пам'ятаю, який стандартний / звичайно використовується.
ninjalj

Відповіді:


28

При запуску екрана можна вказати розмір буфера прокрутки за допомогою -h, так що ви можете збільшити його за замовчуванням на 100 рядків. Проте, з поточним запущеним екраном, як тільки дані залишили буфер, він зник.


2
Це просто неправильно. Відповідь від @opyate надає рішення
nirvana-msu

3
@ nirvana-msu Використовуючи клавішу ^ a для входу в режим прокрутки, ви можете вказувати сторінки в буфер прокрутки. Якщо дані вже пройшли з буфера прокручування, то вони вже пропали. Ви можете збільшити розмір цього bufer під час запуску. Що, на Вашу думку, неправильно? Я говорю про збільшення розміру буфера прокручування, опиати дають подробиці про те, як його використовувати.
William Pursell

1
Ну, добре, хоча питання насправді не стосувалося розширення буфера прокручування. Автор хотів переглянути більше історії, ніж те, що зазвичай показано в консолі, і ви може переглянути більше історії за допомогою Ctrl+a+[. Ваша відповідь просто змушує її здаватися неможливим, що вводить в оману.
nirvana-msu

61

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

Від вікі Gentoo на екрані


7
і ESC для виходу з режиму прокрутки IIRC
ninjalj

тепер вікі gentoo: wiki.gentoo.org/wiki/Screen
Rmatt

також див цей пост для того, як (начебто) отримати прокрутку за допомогою миші. Ім'я посади говорить його для tmux, але він також охоплює екран
JonnyRaa

1
Ctrl + A, Esc також переходить в режим копіювання / прокручування.
Serge Stroobandt

7

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


це те, що я використав для свого завдання. Працює відмінно. Дякую.
T. Brian Jones

3

Ви також можете змінити розмір історії прокручування у запущеному екрані за допомогою послідовності CTRL-a : (потім введіть режим командного рядка екрану) scrollback 10000 якщо потрібно 10k рядків буфера історії. Зміна застосовується негайно.

Будьте обережні з використанням пам'яті, якщо ви використовуєте багато екранів з дуже довгими буферами.

Тим не менш, як сказав @William Pursell, з поточним запущеним екраном, як тільки дані залишили буфер, він зник.


0

Залежно від того, яку термінальну програму ви використовуєте, зазвичай ви можете змінити буфер прокрутки в меню Параметри. Я знаю xterm спочатку потрібно ввімкнути прокрутку, після чого можна встановити безмежний буфер.

Однак найкращим варіантом для сценаріїв реєстрації буде перенаправлення стандартного виводу у файл:

ScriptName >> OutputFile.txt

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

EDIT: Це близьке до вищезгаданого рішення для трубопроводів, однак перенаправлення стандартного вводу може бути корисним і в інших випадках:

grep linux stackoverflow.txt > linuxquestions.txt

або

cat linuxquestions.txt | grep buffersize > bufferquestions.txt

Зверніть увагу, що screen(1) ні дозволити прокручування терміналу. Це одна з головних його особливостей і одна з головних недоліків.
sarnold

@sarnold Можна дозволити прокрутку терміналу, див superuser.com/a/1336554/116475
Franck Dernoncourt

0

Мені потрібно побачити екранне виведення "далі вгору", ніж я можу на поточному екрані. CTRL + a має ввести в режим прокручування всередині екрана, але він не працює.

На додаток до інших відповідей, я хотів би відзначити, що ви можете додати у свій ~/.screenrc файл:

defscrollback 100000
termcapinfo xterm ti@:te@

де:

  • defscrollback 100000: встановити типову кількість рядків прокручування до 100000
  • termcapinfo xterm ti@:te@: дозволяють прокручувати термінал у будь-якому xterm або PuTTY. ( Екран FAQ ; Часті запитання )
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.