Copying text from a terminal (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Copying text from a terminal. Дата последней синхронизации: 26 января 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Большинство современных эмуляторов терминала позволяют пользователям копировать или сохранять их содержимое.

Общий подход

В графических эмуляторах терминалов содержимое обычно выделяется с помощью мыши и может быть скопировано с помощью контекстного меню, меню Правка или комбинации клавиш, например 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 >файл-для-вывода

Сравнение популярных эмуляторов терминала

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: Некоторые ячейки «Нет» могут быть неактуальными. (Discuss in Talk:Copying text from a terminal#A cheatsheet for common emulators: "No" entries factual accuracy)

Сочетание клавиш для копирования у большинства терминалов 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, если вы не хотите случайно завершить процесс.