Как получить и скопировать слишком длинный вывод полностью в терминал?


8

В терминале команда имеет слишком длинный вывод. Но когда я прокручиваю назад, я вижу, что он обрезан и отображается только последняя часть. В Gnome-Terminal и Konsole у меня есть эта проблема. В xterm такой проблемы нет, но я не могу скопировать вывод в xterm.

Как я могу получить полный вывод?


Ответы:


5

Я знаю, что в терминале xfce4 есть возможность увеличить количество отображаемых строк:

введите описание изображения здесь

Для убунту Terminal введите описание изображения здесь

Помимо этого есть то, что сказал @ Zelda64fan.


+1 Труба и teeне оптимальны, так как не работают в некоторых случаях, таких как takeHROOT 3NVIORTNM3NT
22lk94k943 только

9

Вы можете отправить вывод в файл: command > file.txt(где commandнаходится команда, которую вы хотите запустить, и file.txtфайл, в который вы хотите сохранить его), а затем просмотреть его gedit file.txt.


8

Используйте xclip

cat long.output | xclip -sel clip

Если не установлен, вы можете сделать

sudo apt-get install xclip

Это мой личный фаворит для графических терминалов. С TTY это не сработает, к сожалению, там поможет только перенаправление в файл
Сергей Колодяжный

5

Если вам не нужен весь выход, вы могли бы трубы через менее: command | less. Это также избавило бы от необходимости удалять файл после просмотра результатов.


lessвывод довольно сложно скопировать.
Sparhawk

2

В xterm по умолчанию выбирается autocopy on select. Попробуйте тройной щелчок, затем используйте среднюю кнопку мыши (или эмулированную третью кнопку) для вставки.

То же самое должно работать с другими терминалами, но вам нужно вручную скопировать и вставить.

Существует множество способов сделать это. Мне нравится использовать scriptв некоторых случаях. Введите «script» в командной строке, чтобы запустить его, прежде чем запускать команду из командной строки, затем нажмите Ctrl-D, чтобы остановить. Если вы не укажете имя файла захвата, по умолчанию используется типскрипт. Все, что выводится на экран, должно быть записано в файл.


2

Сохранить вывод консоли в файл:

  1. tee команда

команда tee - чтение из стандартного ввода и запись в стандартный вывод и файлы.

Он автоматически создает файл и сохраняет весь вывод cmd ps -axв файл с именем, как processes_infoв той же папке, из которой запускался cmd.

user@admin:~$ ps -ax | tee processes_info
  1. script команда

команда script - сделать машинописный текст терминальной сессии.

user@admin:~$ script my_console_output.txt

Это создаст файл с именем as my_console_output.txtи откроет подоболочку и запишет всю информацию в течение этого сеанса. После этого скрипт запускается и, независимо от вывода консоли, он сохраняется в файле my_console_output.txt; до тех пор, пока сценарий не завершится, когда разветвленная оболочка завершится. (например, когда пользователь печатает exitили когда CTRLDпечатается.)

user@admin:~$ script -c "ps ax" processes_info.txt
  • запускает скрипт;
  • создает файл processes_info.txt;
  • сохраняет вывод консоли в файл;
  • Завершить (закрыть) скрипт.

    Другой пример:

    script -c 'echo "Hello, World!"' hello.txt
    

script -c "rails runner -e development lib/scripts/my_script.rb" report.txtпомог мне легко записать очень-очень длинный вывод скрипта Rails в файл. Я попытался использовать перенаправление в файл, но он был записан только в конце сценария. Это не помогло мне, потому что в моем сценарии было мало интерактивных команд. Затем я использовал только scriptмой, а затем запустил rails runnerсессию сценария, но он не написал все. Затем я нашел это, script -c "runner command here" output_fileи он сохранил все выходные данные, как хотелось. Это было на Ubuntu 14.04 LTS
Jignesh Gohel
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.