Можно ли сохранить выходные данные команды в файл после того, как команда уже выполнена?


13

Существует ли элегантный способ сохранить выходные данные команды в файл после выполнения команды, пока открыто окно терминала, т.е. после того, как команда была выполнена в терминале?

Выход все еще присутствует в терминале. Теперь я могу скопировать и вставить все строки и сохранить их в файл.

Но, возможно, существует метод, позволяющий как-то записать выходной буфер окна терминала в файл или, что еще лучше, вывод уже выполненной команды?


Должен был быть патч для gnome-терминала, чтобы сделать именно это - чтобы сохранить буфер прокрутки в файл. Это где-то там, но я не могу найти, в какую версию gnome-терминала он фактически интегрирован. Я считаю, что это что-то вроде простой опции «Сохранить в файл» в меню «Файл».
belacqua

@belacqua Вам когда-нибудь удалось найти исправленную версию?
Дмитрий Пашкевич

Ответы:


7

Похоже, у вас есть несколько вариантов, но gnome-терминал не поддерживает запись в файл самостоятельно.

  • Вы можете выполнить scriptкоманду перед выводом, чтобы выполнить это. Смотрите этот Launchapd Q & A для получения дополнительной информации.

  • Вы можете установить и использовать другой терминал вместо gnome-терминала, который поддерживает запись всех выходных данных в файл, такой как Putty. Там могут быть другие.

  • Вы можете просто выделить нужный текстовый вывод, а затем использовать CTRL-SHIFT-C, чтобы скопировать текст.


1
Дополнение: То, что я обнаружил до сих пор, хорошими инструментами для этой цели являются screen или tmux.
NES

1
@NES Если экран работает, может быть и byobu. Дастин Киркланд (Dustin Kirkland) (один из разработчиков ядра Ubuntu) работал над улучшением экрана в этом пакете (в репозиториях). Хотя я не использовал это в последнее время - обычно терминатор.
belacqua

3
Edit->Select Allв терминале гномов может помочь вам выделить все, что находится в буфере
Дмитрий Пашкевич

6

Если вы ищете способ сохранить выходные данные команды в файле, а также отобразить их в терминале, используйте команду tee.

command | tee filename

вывод команды отображается как в терминале, так и в файле.


1
не совсем то, что я намеревался, но это тоже очень полезно. спасибо
NES

1
Это именно то, о чем просил ОП, но вы просто сэкономили мне ОГРОМНЫЕ усилия! Благодарность! =)
Малабарба
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.