Как сохранить в файл вывод терминала?
Модератор: Bizdelnick
Как сохранить в файл вывод терминала?
Доброго времени суток!
На форуме часто приводят фрагменты вывода консоли. Сомневаюсь, что это переписывается вручную с экрана. Где существует лог вывода консоли или если такого нет, то как его создать?
Спасибо!
На форуме часто приводят фрагменты вывода консоли. Сомневаюсь, что это переписывается вручную с экрана. Где существует лог вывода консоли или если такого нет, то как его создать?
Спасибо!
Re: Как сохранить в файл вывод терминала?
Если вывод в (графическую) консоль не очень объёмный, можно просто выдельть мышкой кусок и вставить его в сообщение щелчком средней кнопки.
В противном случае можно использовать перенаправление вывода в файл через "воронку", например так:
успехов
В противном случае можно использовать перенаправление вывода в файл через "воронку", например так:
Код: Выделить всё
some_command parameters > logfile.txt
успехов
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
The answer is blowin' in the wind.
Re: Как сохранить в файл вывод терминала?
Вариант с мышкой не годится, работаю в обыкновенной текстовой консоли без мыши.
Вариант с перенаправлением вывода (как вы назвали "воронкой") тоже не годится. Перенапрвить таким образом вывод можно для одной команды и только вывод команды, а хотелось бы иметь полный лог как на экране консоли, так и в файле один в один.
Или вопрос по-другому: как вставить фрагмент из консоли на форум как это делают отвечающие здесь специалисты?
Спасибо!
Вариант с перенаправлением вывода (как вы назвали "воронкой") тоже не годится. Перенапрвить таким образом вывод можно для одной команды и только вывод команды, а хотелось бы иметь полный лог как на экране консоли, так и в файле один в один.
Или вопрос по-другому: как вставить фрагмент из консоли на форум как это делают отвечающие здесь специалисты?
Спасибо!
Re: Как сохранить в файл вывод терминала?
Или вопрос по-другому: как вставить фрагмент из консоли на форум как это делают отвечающие здесь специалисты?
На этот вопрос вам уже ответил uptime. Я лично больше пользуюсь мышью и крайне редко - перенаправлением вывода в файл, так как в подавляющем большинстве случаев цитирую не более нескольких строк вывода.
Re: Как сохранить в файл вывод терминала?
MagTux, думаю, можно извратиться и настроить полное логирование консоли. Сам не проверял, но должно сработать. Попробуйте запустить копию оболочки (bash) с перенаправлением вывода в файл через команду tee.
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
The answer is blowin' in the wind.
Re: Как сохранить в файл вывод терминала?
Да, действительно uptime ответил на вопрос. С вашего позволения я его уточню.
Как сохранить в файл вывод нескольких введённых команд вместе с самими командами и строками приглашения (иными словами вывод консоли; перенаправление сохраняет только вывод команды) работая в текстовой консоли без мыши?
Добавлено:
uptime
Спасибо, попробую.
Добавлено:
uptime
Попробовал.
tee - это то же самое перенаправление вывода, только дублирующее (выводит на стандартный вывод и в файл одновременно).
Буду думать дальше.
Как сохранить в файл вывод нескольких введённых команд вместе с самими командами и строками приглашения (иными словами вывод консоли; перенаправление сохраняет только вывод команды) работая в текстовой консоли без мыши?
Добавлено:
uptime
Спасибо, попробую.
Добавлено:
uptime
Попробовал.
tee - это то же самое перенаправление вывода, только дублирующее (выводит на стандартный вывод и в файл одновременно).
Буду думать дальше.
Re: Как сохранить в файл вывод терминала?
Нашёл решение.
Т.е. после использования команды, например
соответственно в файле /root/screenlog будет содержимое одной страницы консоли. Как сохранить весь буфер прокрутки пока не нашёл.
Команда
$ setterm -dump
создает "слепок" буфера текущей виртуальной консоли в виде простого текстового файла с именем по умолчанию - screen.dump. В качестве ее аргумента можно использовать номер консоли, для которой требуется сделать дамп. А добавление опции -file имя_файла перенаправит этот дамп в файл с указанным именем. Опция же -append присоединит новый дамп к уже существующему файлу - "умолчальному" screen.dump или поименованному опцией -file.
Т.е. после использования команды, например
Код: Выделить всё
$ setterm -dump -file /root/screenlog
соответственно в файле /root/screenlog будет содержимое одной страницы консоли. Как сохранить весь буфер прокрутки пока не нашёл.
Re: Как сохранить в файл вывод терминала?
Ну, вы отпишитесь по результатам, пожалуйста.
По моим ощущениям буфер консоли гораздо больше, чем то, что мы видим на экране..
По моим ощущениям буфер консоли гораздо больше, чем то, что мы видим на экране..
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
The answer is blowin' in the wind.
Re: Как сохранить в файл вывод терминала?
Нашёл еще одно решение для копирования/вставки текста в текстовой консоли без мыши. Также можно копировать текст из буфера прокрутки (т.е. всё что на экране и выше за экраном). Чтобы лучше разобраться, читайте о консольном менеджере окон screen. Также может пригодиться увеличить размер буфера прокрутки.
1) Запускаем screen
2) Нажимаем Enter. Всё. Мы находимся в нулевом окне консоли.
3) Выполняем нужные команды, вывод которых необходимо скопировать.
4) Ctrl+A, Ctrl+[ - мы в режиме копирования. Ставим курсор на начало выделения, жмём пробел, потом ставим курсор на конец выделения, жмём пробел. Текст скопирован в буфер.
5) Ctrl+A, с - мы создали новое 1-е окно.
6) Ctrl+A, 1 - мы перешли на 1-е окно.
7) Открываем любой (?) текстовый редактор (я пробовал в mc), и жмём Ctrl+A, Ctrl+] - текст вставлен. Сохраняем.
8) Ctrl+A, Ctrl+0 - вернуться обратно в нулевое окно.
С опцией fbcon=scrollback:128 у меня буфер прокрутки увеличился до 17 экранов (35 раз Shift+PgUp по полэкрана).
Кстати, 128 - это килобайт. Автор статьи утверждает, что больше установить нельзя. Я и не пробовал.
1) Запускаем screen
Код: Выделить всё
$ screen
2) Нажимаем Enter. Всё. Мы находимся в нулевом окне консоли.
3) Выполняем нужные команды, вывод которых необходимо скопировать.
4) Ctrl+A, Ctrl+[ - мы в режиме копирования. Ставим курсор на начало выделения, жмём пробел, потом ставим курсор на конец выделения, жмём пробел. Текст скопирован в буфер.
5) Ctrl+A, с - мы создали новое 1-е окно.
6) Ctrl+A, 1 - мы перешли на 1-е окно.
7) Открываем любой (?) текстовый редактор (я пробовал в mc), и жмём Ctrl+A, Ctrl+] - текст вставлен. Сохраняем.
8) Ctrl+A, Ctrl+0 - вернуться обратно в нулевое окно.
Как увеличить буфер обратной прокрутки?
Первым решением будет увеличить дефолтный (умолчальный) размер буфера в исходниках ядра и перекомпилировать его. Позвольте предположить, что вы столь же не склонны заниматься этим, как и я, и поискать средство более гибкое.
И такое средство есть, а называется оно 'framebuffer console', для краткости 'fbcon'. Это устройство имеет файл документации 'fbcon.txt'; если вы устанавливали документацию к ядру, то он у вас есть. Выискивайте его где-то в районе '/usr/share' ветви (я не могу указать точный путь из-за разницы в дистрибутивах).
На этом месте прошу прощения: мы должны сделать небольшое отступление и немного поговорить о видеобуфере (framebuffer).
Видеобуфер - это буфер между дисплеем и видеоадаптером. Его прелесть в том, что им можно манипулировать: он позволяет трюки, которые не прошли бы, будь адаптер связан напрямую с дисплеем.
Один из таких трюков связан с буфером прокрутки; оказывается, вы можете "попросить" видеобуфер выделить больше памяти буферу прокрутки. Достигается это через загрузочные параметры ядра. Сначала вы требуете framebuffer (видеобуфер); Затем запрашиваете больший буфер прокрутки.
Нижеследующий пример касается GRUB, но может быть легко адаптирован к LILO. В файле настройки GRUB - 'menu.lst'- найдите соответствующую ядру строчку, и затем:
Удалите опцию 'vga=xxx', если таковая присутствует.
Добавьте опцию 'video=vesabf' или то, что соответствует вашему "железу".
Добавьте опцию 'fbcon=scrollback:128'.
После этой процедуры, строка параметров ядра должна выглядеть приблизительно так:
'kernel /vmlinuz root=/dev/sdb5 video=radeonfb fbcon=scrollback:128'.
Спрашивается, зачем удалять опцию 'vga=xxx'? Из-за возможных конфликтов с видео-опцией. На своем ATI адаптере, я не могу изменить буфер прокрутки, если 'vga=xxx' присутствует в списке. Возможно в вашем случае это не так. Если вышеперечисленные опции работают - хорошо; но что, если вы хотите увеличить число строк, или установить более мелкий шрифт на экране? Вы всегда делали это при помощи опции 'vga=xxx' - а она-то и исчезла. Не переживайте - то же самое может быть достигнуто изменением параметров fbcon, как описано в файле 'fbcon.txt' (но не описано в данной статье). В Ubuntu и Debian есть более удобный способ: 'dpkg-reconfigure console-setup'. Эту команду стоит использовать также и потому, что она еще и корректирует 'initrd' на ваши новые настройки.
источник: rus-linux.net
С опцией fbcon=scrollback:128 у меня буфер прокрутки увеличился до 17 экранов (35 раз Shift+PgUp по полэкрана).
Кстати, 128 - это килобайт. Автор статьи утверждает, что больше установить нельзя. Я и не пробовал.
Re: Как сохранить в файл вывод терминала?
Пожалуйста, прикрепите эту тему.
На себе испытал, как трудно новичку выполнить просьбу спецов:
"команда_такая_то - в студию!"
Добавлено:
и название темы переименуйте, что-то вроде: "Как показать вывод команды в терминале", чтобы понятно было о чём речь.
Спасибо.
На себе испытал, как трудно новичку выполнить просьбу спецов:
"команда_такая_то - в студию!"
Добавлено:
и название темы переименуйте, что-то вроде: "Как показать вывод команды в терминале", чтобы понятно было о чём речь.
Спасибо.
Gigabyte GA-8PE800; P-IV 2,66GHz Northwood; NVIDIA GeForce FX 5200; HDD: 160Gb+200Gb.
Re: Как сохранить в файл вывод терминала?
Можно заюзать script.
Делаем, когда все нужные команды выполнены - .
Все записано в filename.log
Script makes a typescript of everything printed on your terminal. It is useful for students who need a
hardcopy record of an interactive session as proof of an assignment, as the typescript file can be printed
out later with lpr(1).
Делаем
Код: Выделить всё
script filename.log
Код: Выделить всё
exit
Все записано в filename.log
but in the darkness, behind your smile, you scream... © Dio
Спасибо сказали:
Re: Как сохранить в файл вывод терминала?
А где сам скрипт, broom?
Или команда script?
Или команда script?
Gigabyte GA-8PE800; P-IV 2,66GHz Northwood; NVIDIA GeForce FX 5200; HDD: 160Gb+200Gb.
Re: Как сохранить в файл вывод терминала?
but in the darkness, behind your smile, you scream... © Dio
Re: Как сохранить в файл вывод терминала?
Ухты. Спасибо за script. Это наиболее удобный вариант.
P.S. Название темы поправил.
P.S. Название темы поправил.
Re: Как сохранить в файл вывод терминала?
MagTux за описание копирования в скрине отдельное спасибо! знал что есть такое, но никогда не задумывался о том как оно делается
Re: Как сохранить в файл вывод терминала?
А можно один раз и навсегда сделать так, чтобы ВСЕ консольные сообщения, которые выводятся на экран, дублировались бы в лог файл?
Т.е. чтоб и процесс загрузки также дублировался.
Т.е. чтоб и процесс загрузки также дублировался.
Re: Как сохранить в файл вывод терминала?
во freeBSD есть замечательная утилита watch, которая позволяет мониторить терминалы, но как оказалось, в Linux она выполняет совсем иные функции =\ Стоит погуглить на эту тему, чего-нть да найдется...
http://www.opennet.ru/man.shtml?topic=watc...8&russian=1
http://www.opennet.ru/man.shtml?topic=watc...8&russian=1
Re: Как сохранить в файл вывод терминала?
Эм. там выше про script сказали, это не то?
Re: Как сохранить в файл вывод терминала?
Нет, я не понял. Как глобально встроить в дистрибутив, чтобы ВСЕ сообщения выводимые на любые видимые глазом терминалы, дублировались бы в файл, включая процесс загрузки.
Если честно, я не знаю, почему все себе еще так не сделали. Это же так логично и понятно.
Если честно, я не знаю, почему все себе еще так не сделали. Это же так логично и понятно.
Re: Как сохранить в файл вывод терминала?
ИМХО это не логично. Логичнее писать в файл по потребности. Если писать в файл всё подряд, то в итоге будет невозможно разобраться в получившемся логе. Запустите script, выполните десяток команд с большим выводом, откройте лог и убедитесь, что не так всё красиво, как хотелось бы.
Re: Как сохранить в файл вывод терминала?
сообщения которые при загрузке и так пишутся в файл, и их если хочется читать, то именно из такого файла(ну или командой). При работе с шеллом, - вводимые команды и так сохраняются, - этим можно рулить. Вывод команд ... не всегда нужен, а если нужен, то он легко перенаправляется в файл.
Re: Как сохранить в файл вывод терминала?
Краткое резюме обсуждения собрано вот тут: F. A. Q -- читать перед открытием новой темы обязательно эта тема открепляется.