Copying text from a terminal (Русский)
Большинство современных эмуляторов терминала позволяют пользователям копировать или сохранять их содержимое.
Общий подход
В графических эмуляторах терминалов содержимое обычно выделяется с помощью мыши и может быть скопировано с помощью контекстного меню, меню Правка или комбинации клавиш, например Ctrl+Shift+C.
Терминалы без поддержки CLIPBOARD
Xorg
Некоторые эмуляторы не поддерживают буфера CLIPBOARD нативно и копируют данные в буфер PRIMARY. Для них можно использовать xclip:
$ xclip -o | xclip -selection clipboard -i
Эта команда читает данные из буфера PRIMARY и записывает в буфер CLIPBOARD.
Некоторые менеджеры буфера обмена (например autocutselAUR) предоставляют автоматическую синхронизацию между этими двумя буферами.
Перехват вывода команды
Команда tee позволяет скопировать вывод команды в файл.
$ команда 2>&1 | tee файл-для-вывода
Получение вывода Linux-терминала
Прочитать буфер вывода нативного терминала /dev/ttyN можно в соответствующем файле /dev/vcsN. Например, сохранить содержимое терминала /dev/tty1 в файл можно так:
# cat /dev/vcs1 >файл-для-вывода
Сравнение популярных эмуляторов терминала
Сочетание клавиш для копирования у большинства терминалов Ctrl+Shift+c, если не указано иное.
| Эмулятор | Выделение в PRIMARY | CLIPBOARD | ||||
|---|---|---|---|---|---|---|
| Сочетание клавиш | Контекстное меню | Меню окна | Выделение | |||
| Alacritty | Да | Да | Нет | Нет | Нет | |
| atermAUR | Да | Нет | Нет | Нет | Нет | |
| etermAUR | Да | Нет | Нет | Нет | Нет | |
| germinalAUR | Да | Да | Да | Нет | Нет | |
| Guake | Да | Да | Да | Нет | Нет | |
| Konsole | Да | Да | Да | Да | Опционально | |
| lilyterm-gitAUR | Да | Да Ctrl+Delete
|
Да | Нет | Нет | |
| lxterminal | Да | Да | Да | Да | Нет | |
| mate-terminal | Да | Да | Да | Да | Нет | |
| mltermAUR | Да | Да | Нет | Нет | Да | |
| pantheon-terminal | Да | Да | Да | Нет | Нет | |
| PuTTY | Да | Нет | Нет | Нет | Нет | |
| qterminal | Да | Да | Да | Да | Нет | |
| roxtermAUR | Да | Да | Да | Да | Нет | |
| rxvtAUR | Да | Нет | Нет | Нет | Нет | |
| sakura | Да | Да | Да | Да | Нет | |
| st | Да | Да | Нет | Нет | Нет | |
| Terminator | Да | Да | Да | Нет | Нет | |
| terminology | Да | Да | Да | Нет | Нет | |
| Termite | Да | Да | Нет | Нет | Нет | |
| Tilda | Да | Да | Да | Нет | Нет | |
| urxvt | Да | Да Ctrl+Alt+c
|
Нет | Нет | Опционально | |
| xfce4-terminal | Да | Да | Да | Да | Нет | |
| xterm | Да | Опционально[1] | Нет | Нет | Да | |
| Yakuake | Да | Да | Да | Нет | Опционально | |
Особые случаи
putty
Подход xclip работает и для putty: нужно только помнить, что вызов xclip должен быть выполнен на локальном компьютере (в другом терминале), а не на удалённой машине, к которой подключен putty.
urxvt
Для выделения текста в CLIPBOARD требуется perl-расширение selection-to-clipboard. Подробнее смотрите rxvt-unicode (Русский)#Вырезать и вставить.
xterm
Доступ к буферу CLIPBOARD в xterm требует дополнительных шагов.
mlterm
В дополнение к Ctrl+Shift+c также доступно сочетание клавиш Ctrl+Insert, если вы не хотите случайно завершить процесс.