Где хранится вывод терминала (Gnome Terminal)
Прежде всего, это не вопрос о history
, в котором хранятся все введенные команды.
У меня на рабочей станции на работе есть несколько открытых терминалов, с которых я запускаю симуляции, проверяю вывод и где иногда отображаются сообщения об ошибках.
В Gnome Terminal
есть настройка, управляющая длительностью прокрутки назад, в моем случае она установлена на 10000 строк.
Теперь мой вопрос: как я могу найти прокрутку назад?
В моем случае я хочу проверить, не было ли последнее сообщение об ошибке ранее. Да, я могу прокрутить назад и использовать свои глазные яблоки для поиска соответствующего сообщения об ошибке. Но для нескольких терминалов, которые могут иметь длину до 10000 строк, это означает серьезное время, затрачиваемое на прокрутку.
Я предполагаю, что информация в прокрутке должна где-то храниться, и если она где-то хранится, она может быть действительно доступна для поиска.
[Редактировать: исправлен вопрос о терминале Gnome.]
2 ответа
Если вывод, созданный вашими сценариями, очень важен для вас (для поиска ошибок, предупреждений, выполненных действий и т. Д.), Вам не следует полагаться на отображение используемой консоли.
Вы должны перенаправить вывод ваших скриптов в некоторые файлы, это имеет свои преимущества:
- вы больше не ограничены количеством строк в буфере прокрутки используемой консоли
- вы можете архивировать результаты до тех пор, пока вы хотите иметь возможность получить то, что было сделано, даже через несколько дней / недель / месяцев после эффективного запуска сценария
- вы можете записывать ошибки в отдельный файл, отличный от информационных сообщений, что упрощает поиск ошибок. (если команды, используемые в ваших скриптах, отправляют ошибку в STDERR и информацию в STDOUT).
- Вы даже можете войти в файл, по-прежнему отображая вывод на терминале, если вы используете команду
tee
,
Итак, вы можете сделать это:
./script.sh | tee -a output
скопировать весь вывод файла script.sh в файл с именем output, добавив текст в конец файла и также отобразив текст на терминале.
Буфер прокрутки является функцией вашего терминала или консоли.
Если вы используете консоль framebuffer, можно использовать fbcon=scrollback:
параметр во время загрузки, чтобы увеличить размер прокрутки.
Для терминала xfce4 перейдите в "Edit->Settings->General->Scrollback" и измените буфер прокрутки по своему вкусу.
для kse- консоли kde перейдите в "Настройки-> Настройка текущего профиля...-> Прокрутка-> Фиксированное количество строк"
классический xterm может быть настроен с флагом запуска -sl 777 (для 777 строк буфера обратной прокрутки) или с помощью конфигурации saveLines.
Для экрана GNU, запустите его с экраном -h.
Я бы пошел с экрана, в котором вы можете искать в буфере прокрутки:
/ Vi-like search forward
? Vi-like search backward
C-a s Emacs style incremental search forward
C-r Emacs style reverse i-search
В режиме прокрутки (или в режиме копирования, то же самое) вы также можете копировать и вставлять текст.