Copying text from a terminal (Русский)
Большинство современных эмуляторов терминала позволяют пользователям копировать или сохранять их содержимое.
Общий подход
В графических эмуляторах терминалов содержимое обычно выделяется с помощью мыши и может быть скопировано с помощью контекстного меню, меню Правка или комбинации клавиш, например Ctrl+Shift+C
.
Терминалы без поддержки CLIPBOARD
Xorg
Некоторые эмуляторы не поддерживают буфера CLIPBOARD нативно и копируют данные в буфер PRIMARY. Для них можно использовать xclip:
$ xclip -o | xclip -selection clipboard -i
Эта команда читает данные из буфера PRIMARY и записывает в буфер CLIPBOARD.
Некоторые менеджеры буфера обмена (например autocutsel) предоставляют автоматическую синхронизацию между этими двумя буферами.
Перехват вывода команды
Команда 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 | Да | Нет | Нет | Нет | Нет | |
sakuraAUR | Да | Да | Да | Да | Нет | |
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
, если вы не хотите случайно завершить процесс.