Скопировать строку в линукса

Как копировать в терминале Linux

Буфер обмена операционной системы и возможность копировать и вставлять текст из одного места в другое очень сильно облегчает работу в терминале. Теперь вам необязательно искать команду в истории или набирать её вручную. Вы можете скопировать текст с другого терминала, файла или браузера, а затем выполнить его. Сложно представить как передать команде длинные и сложные параметры без возможности копирования и вставки.

В этой небольшой статье мы рассмотрим как копировать в терминале Linux в разных ситуациях, а также как вставить полученный текст. В целом, тут нет ничего сложного если вы работаете с графическим окружением и там поддерживается мышь.

Как копировать в терминале Linux

1. Обычный терминал

Для того чтобы скопировать текст в обычном графическом эмуляторе терминала достаточно выделить его мышкой и нажать сочетание клавиш Ctrl+Shift+C. Затем, для вставки скопированного в терминал надо нажать Ctrl+Shift+V.

Обычно для копирования и вставки текста используются сочетания клавиш Ctrl+C и Ctrl+V. Однако в терминале сочетание Ctrl+C завершает программу, которая в данный момент выполняется. Поэтому для копирования разработчикам пришлось выбрать новое сочетание. Из традиционных сочетаний клавиш можно использовать Ctrl+Insert и Shift+Insert для копирования и вставки соответственно.

Если программа выводит данные слишком быстро и вы не успеваете их отметить и скопировать, можно нажать сочетание клавиш Ctrl+S для того чтобы приостановить программу. Некоторые программы полностью останавливаются, некоторые останавливают только вывода, но теперь у вас будет достаточно времени для того чтобы скопировать нужные данные. Для того чтобы возобновить работу программы используйте сочетание Ctrl+Q. Теперь вы знаете как копировать текст в терминале linux.

2. Редактор Vim

Если в редакторе включена поддержка мыши, то копировать текст, описанным выше способом у вас не получится. Для того, чтобы всё же иметь возможность скопировать текст средствами операционной системы необходимо зажать кнопку Shift во время выделения мышкой. Для копирования можно использовать то же сочетание клавиш Ctrl+Shift+C или же вызвать контекстное меню с зажатой клавишей Shift и выбрать пункт Скопировать:

Однако при таком способе копирования может быть скопировано много лишнего, например, номера строк. В текстовом редакторе Vim есть встроенная функциональность копирования. Если включена поддержка мыши, вы можете выделить текст мышью. Если нет, для перехода в режим выделения нажмите клавишу V в командном режиме. Затем используется стрелки для выделения нужной области:

Читайте также:  Линукс показать скрытые папки

Для копирования во внутренний буфер Vim следует использовать клавишу y, а для вставки — p. Если надо выйти с режима выделения без осуществления каких-либо действий — нажмите Esc. Такой способ копирования работает только внутри программы, нигде в системе скопированный текст вставить вы не сможете.

Однако Vim умеет работать и с буфером обмена операционной системы. Вообще у Vim очень широкие возможности копирования и вставки. Здесь поддерживается такая вещь как регистры, в которые можно сохранять данные и извлекать их оттуда. Всего таких регистров 26. По умолчанию используется безымянный регистр. Именно в него попадает текст при копировании с помощью клавиши y или удалении с помощью x. У большинства регистров есть своё предназначение. Однако есть именованные регистры с именами от a до z, в которые вы можете складывать произвольные данные.

Для доступа к регистрам используется символ » в командном режиме или режиме выделения. Если вы редактируете текст, то нужно нажать Esc для выхода в командный режим или выделить нужный текст, затем нажать Shift и кнопку, которая отвечает за « на клавиатуре, а затем кнопку имени регистра. Например, для того чтобы скопировать текст в регистр a используйте такую последовательность «ay.

Для вставки надо будет использовать подобный синтаксис «ap. Аналогично всему этому есть регистр, связанный с буфером обмена операционной системы. Его имя +. Но для того чтобы он работал, необходимо чтобы в системе был установлен пакет vim-gtk3 или gvim. В Ubuntu команда установки будет выглядеть вот так:

Затем вы сможете скопировать текст в системный буфер с помощью такой последовательности: «+y. После чего его можно будет вставить в любой программе вне Vim. Если надо вставить такой текст в Vim, используйте последовательность «+p.

3. Терминальный сервер tmux

Если вы используете tmux для разделения одного окна терминала на несколько, то копировать с помощью зажатой кнопки Shift будет не очень удобно. Вы не сможете выделить текст в рамках одного виртуального окна, будет выделяться всё окно терминала и в выделение попадёт много ненужных данных. Для выделения и вставки следует использовать встроенные средства. Если у вас включена поддержка мыши в tmux, то скопировать текст можно просто выделив его мышью.

Если поддержки мыши нет, нажмите управляющее сочетание клавиш, по умолчанию Ctrl+b, а затем символ [ для того чтобы войти в режим выделения. Используйте стрелки для перемещения по тексту. Переместите курсор к началу текста для копирования и нажмите Ctrl+Пробел. Затем переместите курсор к концу фрагмента. Выделенный текст будет подсвечен:

Затем нажмите сочетание клавиш Alt+W для того чтобы скопировать текст в буфер. Для вставки скопированного текста используйте сочетание клавиш Ctrl+b затем ].

Читайте также:  Linux mint временные файлы

Правда этот способ работает только с внутренним буфером обмена tmux. Получить скопированный таким образом текст в системе не получится.

Выводы

В этой небольшой статье мы рассмотрели как копировать в терминале Linux, а также в нескольких популярных программах, таких как Vim и Tmux. А какие ещё способы копирования текста в терминале знаете вы? Напишите в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

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

Состояние перевода: На этой странице представлен перевод статьи 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 >файл-для-вывода 

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

The factual accuracy of this article or section is disputed.

Сочетание клавиш для копирования у большинства терминалов Ctrl+Shift+c , если не указано иное.

Эмулятор Выделение в PRIMARY CLIPBOARD
Сочетание клавиш Контекстное меню Меню окна Выделение
Alacritty Да Да Нет Нет Нет
aterm AUR Да Нет Нет Нет Нет
eterm AUR Да Нет Нет Нет Нет
germinal AUR Да Да Да Нет Нет
Guake Да Да Да Нет Нет
Konsole Да Да Да Да Опционально
lilyterm-git AUR Да Да Ctrl+Delete Да Нет Нет
lxterminal Да Да Да Да Нет
mate-terminal Да Да Да Да Нет
mlterm AUR Да Да Нет Нет Да
pantheon-terminal Да Да Да Нет Нет
PuTTY Да Нет Нет Нет Нет
qterminal Да Да Да Да Нет
roxterm AUR Да Да Да Да Нет
rxvt AUR Да Нет Нет Нет Нет
sakura AUR Да Да Да Да Нет
st Да Да Нет Нет Нет
Terminator Да Да Да Нет Нет
terminology Да Да Да Нет Нет
Termite Да Да Нет Нет Нет
Tilda Да Да Да Нет Нет
urxvt Да Да Ctrl+Alt+c Нет Нет Опционально
xfce4-terminal Да Да Да Да Нет
xterm Да Опционально[1] Нет Нет Да
Yakuake Да Да Да Нет Опционально
Читайте также:  Установка vmware tools alt linux

Особые случаи

putty

Подход xclip работает и для putty: нужно только помнить, что вызов xclip должен быть выполнен на локальном компьютере (в другом терминале), а не на удалённой машине, к которой подключен putty.

urxvt

Для выделения текста в CLIPBOARD требуется perl-расширение selection-to-clipboard. Подробнее смотрите rxvt-unicode (Русский)#Вырезать и вставить.

xterm

Доступ к буферу CLIPBOARD в xterm требует дополнительных шагов.

mlterm

В дополнение к Ctrl+Shift+c также доступно сочетание клавиш Ctrl+Insert , если вы не хотите случайно завершить процесс.

Источник

Буфер обмена в Linux (копирование и вставка)

Copy paste Linux

Хочу рассказать о некоторых особенностях буфера обмена в Linux. О буфере копирования и про буфер выбора (первичный буфер), а также про копирование и вставку текста в терминале.

Буфер копирования

Стандартно для копирования и вставки объектов в Linux используются сочетания клавиш Ctrl+C и Ctrl+V. При копировании текст (или любой другой объект) в таком случае попадает в обычный буфер копирования. Затем вы можете вставить этот текст в другом месте.

Буфер выбора (первичный буфер)

В Linux существует еще буфер выбора или первичный буфер. Текст, который вы выделяете в любой программе, автоматически попадает в буфер обмена! Это удобно, выделил текст, открыл другое окно и вставил этот кусок текста. Есть некоторые исключения, но они незначительны. Например, у меня в Ubuntu это не работает, если программа использует JVM (Java Virtual Machine).

Кстати, именно этим объясняется следующие поведение. Вы выделили текст в программе, затем открыли другую программу и выделили какой-нибудь текст в ней. После этого, выделение текста в первой программе автоматически снимется, а текст который вы выделили последним, попадет в буфер выбора.

Копирование и вставка в терминале

В терминале для копирования и вставки не работают стандартные сочетания Ctrl+V, Ctrl+C. Это связано с тем, что исторически Ctrl+C это сочетание клавиш для прерывания текущего процесса. Поэтому, для копирования и вставки при работе в терминале используются сочетания Ctrl+Insert и Shift+Insert соответственно. В Gnome терминале и, наверное, во многих других также работают сочетания Shift+Ctrl+C и Shift+Ctrl+V. Они же указаны в главном меню программы в разделе Правка.

Также в терминале работают сочетания клавиш Ctrl+U, чтобы вырезать текст; и Ctrl+Y для вставки текста. Сочетание Ctrl+U работает особенным образом — в буфер копируется вся текущая строка, введенная в терминале, независимо от того, выбрали вы какой-нибудь текст мышкой или нет, а сама строка пропадает с экрана.

Источник

Оцените статью
Adblock
detector