Буфер обмена в 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 работает особенным образом — в буфер копируется вся текущая строка, введенная в терминале, независимо от того, выбрали вы какой-нибудь текст мышкой или нет, а сама строка пропадает с экрана.
Скопировать содержимое терминала. Как?
Помогите пожалуйста!
Нужно полностью скопировать содержимое окна терминала.
Строк много, простым выделением с помощью курсора не получается.
Просто тянешь вверх и нужные строки выделяются.
Строк много, пол дня тянуть, рука отвалится
Спасибо, окно сейчас открыто, нужна конкретная помощь,а man script обязательно почитаю.
Putty->Copy all to clipboard
Ctrl+Shift+A — выделить все Ctrl+Shift+C — копировать
в большинстве терминалов, но я хз что у тебя там за терминал
Можно еще сделать вот так
Использую terminal terminator
Ctrl+Shift+A — выделить все Ctrl+Shift+C — копировать не работают
вопрос все еще актуален
Установил его, и правда, там такого нет даже в настройках. Не думал что этот терминал имеет столь ограниченный функционал. Ну тогда по старинке. С помощь ползунка поднимись на верх, поставь курсор там откуда нужно начать копировать (или начни выделение) потом (!строго) с помощью ползунка спустись вниз и зажав шифт нажми ЛКМ на месте до куда выделять. Должно выделиться, потом копируй по ПКМ.
мой коммент почитай
Если строк так много, то не проще-ли делать перенаправление вывода программы?
Строк много, простым выделением с помощью курсора не получается.
а перенаправить выхлоп в файл не хочешь попробовать?
эти «Строк много» ты же не сам руками наваял, вот и перенаправь
Поздно перенаправлять, скрипт выполняеся уже полтора суток.
Вопрос решил довольно просто
но сейчас скрином ты всё равно не поймаешь то что выполняется на прояжении полутора суток
Как копировать текст в терминале linux
В данной статье разберем утилиту xclip, которая позволяет скопировать вывод любой команды или текст любого файла в буфер обмена в терминале Linux.
Этот абзац для тех, кто нашел эту статью в поисковой системе, чтобы узнать как просто копировать и вставлять текст в терминале Linux (в Ubuntu в частности), так как обычные сочетания клавиш CTRL — C и CTRL -V не работают. Для этих действий используются CTRL — SHIFT — C и CTR — SHIFT — V, соответсвтенно.
xclip — утилита для работы с буфером обмена из консоли.
Давайте её установим в Ubuntu:
Данной утилитой можно скопировать любой вывод команды или текст какого-либо файла, чтобы скопировать туда, куда нам нужно. Также сама утилита позволяет вставлять из буфера обмена в консоль.
Примеры использования xclip.
Давайте рассмотрим работу xclip на примерах.
Допустим, есть у нас публичный ключ ssh, который мы хотим скопировать и вставить в систему для доступа к ней без ввода пароля:
Не совсем удобно копировать данный текст в терминале, можно ошибиться в пробелах и тд. Поэтому, давайте воспользуемся xclip.
Чтобы скопировать в буфер обмена, перенаправляем вывод любой команды в xlip:
или короткая версия:
Если вы не знаете, что такое |, то это означает, что мы вывод первой команды перенаправляем на вход второй после |.
Для тех, кто хочет узнать про перенаправление потоков вывода, советую прочитать мою статью: Терминал Linux. Как сохранить в файл вывод терминала..
Теперь мы можем вставить скопированный текст куда захотим, к примеру, на сайте github:
Но мы можем просто скопировать в буфер обмена весь текстовый файл, для этого указываем команду xclip с ключом -in (-i):
или короткая версия:
С помощью данной утилиты мы можем и вставить текст в терминал из буфера обмена. Для этого нужно указать команду xclip вместе с ключом -out (-o):
или короткая версия:
Но, согласитесь, что не удобно постоянно набирать параметр -sel clip, который указывать на буфер обмена.
Давайте создадим постоянные алиасы для команды копирования и вставки:
Вставляем туда строки:
Если вы не знаете, что такое алиасы, то советую прочитать следующую статью: Терминал Linux. Создание alias (псевдонима) в Ubuntu..
Сохраняем файлик, и если переоткрыть терминал (открыть новую сессию терминала), то теперь можно использовать наши новые команды. Теперь, чтобы скопировать публичный ключ ssh, нам достаточно ввести следующую команду:
Псевдонимы pbcopy и pbpaste я использую, потому что я часто пользуюсь системой macosx и там есть команды с такими названиями. Вы можете назвать алиасы по вашему желанию.
Ну и вставить текст в терминале:
Ну и напоследок, хотелось продемонстрировать как еще можно пользоваться данной утилитой. К примеру, есть у нас файл лога, и мы хотим просмотреть его последние 10 строк:
И мы хотим скопировать его, чтобы кому-то отправить его, просто укажем нашу утилиту:
Выделение и копирование текста в виртуальном терминале
Как правильно осуществляется выделение, копирование и вставка текста в виртуальном терминале в Ubuntu?
Как правильно выделить, скопировать и вставить в следующие команды hex ключ?
2 ответа 2
если имеется «мышь», то можно установить пакет gpm, и использовать её для копирования (надо выделить фрагмент текста с помощью левой кнопки) и вставки в командную строку (с помощью средней кнопки). собственно, как и при работе с эмулятором терминала, запущенным под управлением x-сервера.
если «мыши» нет, то понадобится мультиплексор терминала.
например, с помощью запущенной программы gnu/screen (пакет обычно называется screen) можно действовать так:
- перейти в режим копирования/листания с помощью любой из комбинаций: C-a [ , C-a C-[ , C-a (подразумевается, что вы не меняли умолчальный метасимвол a с помощью команды escape).
- переместить курсор с помощью клавиш h , j , k и l (т.н. vi-стиль управления курсором) в начало выделяемого фрагмента и отметить его с помощью пробела.
- переместить курсор в конец выделяемого фрагмента и отметить его повторным нажатием пробела. screen вернётся в «нормальный» режим работы.
- вставить ранее выделенный фрагмент в текущую позицию с помощью любой из комбинаций: C-a ] , C-a C-] .













