3

Как название. Я хочу скопировать весь вывод, который в данный момент находится в сеансе терминала xfce или gnome, и сохранить в файл для дальнейшего анализа.

6 ответов6

2

Вместо перетаскивания мышью, чтобы выделить весь текст, я получил работоспособный способ, хотя он мне не очень нравится.

  1. тройной щелчок по последней строке текущего терминала (не отпускайте мышь).
  2. нажмите клавишу SHIFT+HOME, которая приведет нас к первой строке.
  3. перетащите мышь на первую строку.
  4. щелкните правой кнопкой мыши, отредактируйте-> скопируйте.
2

К сожалению, я думаю, что единственное действительно эффективное / надежное решение - это исправить сам псевдо-терминальный код для этого. Некоторое время я искал способ сделать это в xfce, и самый чистый ответ, который у меня есть на данный момент: использовать мышь, чтобы скопировать весь буфер сверху вниз, затем выполнить это:

$ xclip -selection c -o> ~/output-of-of псевдотерминала

Что я действительно хочу, так это то, что ВСЕГДА будет регистрировать ВСЕ выходные данные моего терминала. Для меня оперативная память и дисковое пространство дешевы, и реально, даже когда я случайно нажимаю на все эти глупые команды, которые заполняют экран, годовая стоимость моей работы на терминале все равно составляет всего лишь мегабайты, а преимущества регистрации всего этого много по сравнению с как это было бы тривиально.

Кроме того, хотя я думаю, что патч для автоматического сохранения выходных данных является идеальным, возможно, более простым обходным патчем может быть команда для автоматического "выделения всего" текста и его копирования - таким образом, его можно по крайней мере объединить с xclip и cron-scripted и т.д. и не заставлять нас быть неуклюжими с мышкой :)

1

Перенаправьте его в файл:

$ example-command > ~/output.txt

Где example-command - это команда, которая производит вывод, который вы хотите сохранить. Тильда (~) обозначает ваш домашний каталог, поэтому файл output.txt будет находиться в вашей домашней папке, содержащей выходные данные команды.

Если вы хотите весь вывод, включая ошибки:

$ example-command > ~/output.txt 2>&1

Если вы хотите добавить его в буфер обмена, у вас есть несколько вариантов:

Если вывод невелик, вы можете выделить его и щелкнуть правой кнопкой мыши, чтобы сохранить его в буфере обмена. Если есть слишком много, чтобы выделить, направьте его в xclip (может потребоваться установить его в зависимости от вашего дистрибутива):

$ example-command | xclip

xclip позволяет взаимодействие командной строки с буфером обмена X-сервера.

1

pbcopy работает довольно хорошо :)

добавьте это к вашему .bashrc или .zshrc

копия {$ 1 | pbcopy}

Это скопирует вывод команды в буфер.

Используйте Ctrl+V или pbpaste, чтобы показать результат.

Например:

Команда copy pwd

Вывести текущий каталог в буфер

1

используйте команду «скрипт». Для использования rtfm.

0

Откройте gEdit или vi или ваш любимый текстовый редактор, скопируйте, вставьте и сохраните.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .