Как название. Я хочу скопировать весь вывод, который в данный момент находится в сеансе терминала xfce или gnome, и сохранить в файл для дальнейшего анализа.
6 ответов
Вместо перетаскивания мышью, чтобы выделить весь текст, я получил работоспособный способ, хотя он мне не очень нравится.
- тройной щелчок по последней строке текущего терминала (не отпускайте мышь).
- нажмите клавишу SHIFT+HOME, которая приведет нас к первой строке.
- перетащите мышь на первую строку.
- щелкните правой кнопкой мыши, отредактируйте-> скопируйте.
К сожалению, я думаю, что единственное действительно эффективное / надежное решение - это исправить сам псевдо-терминальный код для этого. Некоторое время я искал способ сделать это в xfce, и самый чистый ответ, который у меня есть на данный момент: использовать мышь, чтобы скопировать весь буфер сверху вниз, затем выполнить это:
$ xclip -selection c -o> ~/output-of-of псевдотерминала
Что я действительно хочу, так это то, что ВСЕГДА будет регистрировать ВСЕ выходные данные моего терминала. Для меня оперативная память и дисковое пространство дешевы, и реально, даже когда я случайно нажимаю на все эти глупые команды, которые заполняют экран, годовая стоимость моей работы на терминале все равно составляет всего лишь мегабайты, а преимущества регистрации всего этого много по сравнению с как это было бы тривиально.
Кроме того, хотя я думаю, что патч для автоматического сохранения выходных данных является идеальным, возможно, более простым обходным патчем может быть команда для автоматического "выделения всего" текста и его копирования - таким образом, его можно по крайней мере объединить с xclip и cron-scripted и т.д. и не заставлять нас быть неуклюжими с мышкой :)
Перенаправьте его в файл:
$ example-command > ~/output.txt
Где example-command - это команда, которая производит вывод, который вы хотите сохранить. Тильда (~
) обозначает ваш домашний каталог, поэтому файл output.txt будет находиться в вашей домашней папке, содержащей выходные данные команды.
Если вы хотите весь вывод, включая ошибки:
$ example-command > ~/output.txt 2>&1
Если вы хотите добавить его в буфер обмена, у вас есть несколько вариантов:
Если вывод невелик, вы можете выделить его и щелкнуть правой кнопкой мыши, чтобы сохранить его в буфере обмена. Если есть слишком много, чтобы выделить, направьте его в xclip (может потребоваться установить его в зависимости от вашего дистрибутива):
$ example-command | xclip
xclip позволяет взаимодействие командной строки с буфером обмена X-сервера.
pbcopy работает довольно хорошо :)
добавьте это к вашему .bashrc или .zshrc
копия {$ 1 | pbcopy}
Это скопирует вывод команды в буфер.
Используйте Ctrl+V или pbpaste, чтобы показать результат.
Например:
Команда copy pwd
Вывести текущий каталог в буфер
используйте команду «скрипт». Для использования rtfm.
Откройте gEdit
или vi
или ваш любимый текстовый редактор, скопируйте, вставьте и сохраните.