- Как в терминале Linux копировать любой текст в буфер обмена
- XClip — копирование/вставка из командной строки в Debian / Ubuntu
- debian
- ubuntu
- utils
- xclip
- Установка xclip
- Использование xclip
- Работа с буфером обмена в Linux: теория и практика
- Совсем немного теории
- Практика
- Скрипты
- Что дальше?
- Как получить доступ к буферу обмена с помощью xclip в Ubuntu
- Как установить Xclip в Ubuntu
- Как использовать буфер обмена Xclip в Ubuntu с примерами
- Как скопировать содержимое текстового файла с помощью буфера обмена xclip в ОС Ubuntu
- Заключение
Как в терминале 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 строк:
И мы хотим скопировать его, чтобы кому-то отправить его, просто укажем нашу утилиту:
Источник
XClip — копирование/вставка из командной строки в Debian / Ubuntu
debian
ubuntu
utils
xclip
Добавить в
XClip — утилита, позволяющая работать с буфером обмена X11 (X Window System, в народе — иксы) через командную строку. Программа позволяет помещать вывод команд, запущенных в консоле, напрямую в буфер обмена. Таким образом можно не копировать вывод из терминала вручную, что бывает довольно утомительно, особенно, если вывод достаточно большой. Кроме того, XClip позволяет помещать в буфер обмена содержимое файлов.
Установка xclip
Установка утилиты классически проста:
Использование xclip
Чтобы поместить в буфер содержимое какого либо файла, необходимо использовать xclip следующим образом:
Чтобы поместить вывод какой-либо команды в буфер обмена, необходимо использовать xclip следующим образом:
Чтобы вывести на экран содержимое буфера, необходимо выполнить следующее:
Чтобы не только сохранить вывод какой-либо команды в буфере обмена, но и вывести его на экран, необходимо использовать xclip следующим образом:
Чтобы сохранить содержимое буфера в файле, необходимо просто перенаправить вывод xclip в необходимый файл:
А например, вот так можно отсортировать данные в буфере обмена:
По умолчанию xclip помещает содержимое в XA_PRIMARY (primary) буфер. Чтобы вставить содержимое из этого буфера, необходимо нажать среднюю кнопку мыши в терминале. Это не всегда удобно, так как часто необходимо вставлять содержимое в GUI-приложение, где нажатие средней кнопки мыши работает иначе, или, наконец, просто пользоваться хот-кеями Ctrl+V / Shift+Insert. Для того, чтобы это было возможно, необходимо помещать содержимое в буфер XA_CLIPBOARD (clipboard), используя следующие параметры xclip:
Аналогичной функциональностью обладает утилита xsel.
Источник
Работа с буфером обмена в Linux: теория и практика
Совсем немного теории
Исторически сложилось так, что в X Window System (X11, — оконная система для Linux, UNIX) существует два буфера обмена.
Один из них (clipboard) похож на буфер обмена в Windows — при нажатии на Ctrl+Insert или Ctrl+C выделенный фрагмент (текст, картинка, файл) копируется в буфер обмена, а при нажатии на Shift+Insert (или Ctrl+V) — вставляется из него. Следует заметить, что во многих программах эти сочетания зарезервированы для иных целей и приходится пользоваться другими — например, в терминале сочетание Ctrl+C используется для завершения процесса, а для работы с буфером обмена используются сочетания Ctrl+Shift+C для копирования и Ctrl+Shift+V для вставки.
Второй буфер (primary) является специфичным для оконной системы X11. Выделенный текст незамедлительно попадает в буфер primary, и для того, чтобы вставить скопированный текст, достаточно лишь нажать среднюю кнопку мышки (колёсико). У кого в наличии не имеется трёхкнопочной мышки, а так же владельцам ноутбуков с тачпадами следует одновременно нажать левую и правую кнопки мышки для вставки текста.
Обычно эти буферы не связаны друг с другом (некоторые программы некорректно их обрабатывают и считают, что это один и тот же буфер обмена). Следовательно, хранящиеся в них данные не влияют друг на друга, что, несомненно, крайне удобно. Следует заметить, что при закрытии программы, из которой были скопированы данные, содержимое буфера обмена теряется.
Практика
Для решения проблемы утери данных из буфера обмена при закрытии программы существует сторонний софт. Например, Clipboard Daemon. Этот маленький демон держит содержимое буфера обмена в памяти независимо от того, было ли закрыто приложение, из которого скопированы данные.
Для более комфортной работы с буфером обмена существует целый ряд программ:
- Parcellite — многообещаюший менеджер буфера обмена на GTK
- glipper — для Gnome
- klipper — для KDE
- wmcliphist — для Window Maker
- и куча других (в том числе для Windows, Mac OS и прочего).
Эти программы позволяют существенно облегчить работу — они хранят историю содержимого буферов обмена — в любой момент можно вернуться к любому из предыдущих состояний (в пределах разумного, конечно, — этот предел, как водится, устанавливается в настройках) и воспользоваться им =)
Существует так же весьма и весьма полезная в умелых руках утилита под названием xclip, предназначенная для работы с буферами обмена из командной строки. Копирование и вставка текста осуществляется простыми командами, что позволяет использовать её в различного рода вспомогательных скриптах, примеры которых я продемонстрирую ниже.
К сожалению, официальная версия xclip у меня с кириллицей корректно не заработала, несмотря на то, что я собирал последнюю версию. Поэтому я предлагаю скачать и собрать версию xclip для дистрибутива Alt Linux.
Скрипты
xclip -o | sed -n 1p | xargs firefox -new-tab
Он открывает новую вкладку в Firefox с адресом, который находится в буфере обмена (очень часто нужно открыть ссылку в виде простого текста — например, если ссылка встретилась в текстовом редакторе — приходится её копировать, открывать вкладку в браузере и вставлять скопированный адрес. Скрипт делает всё за вас ;). Я назначил его на сочетание Win+F.
Благодаря тому, что буфер обмена является универсальной для ОС сущностью, эти скрипты будет работать везде — от терминала и текстового редактора до самого Firefox’а (впрочем, желающие могут настроить этот же скрипт и для альтернативных браузеров. Назначить скриптам сочетание кнопок можно как с помощью вашего windows manager’а (например, gconf-editor для Gnome), так и с помощью сторонних программ, таких как xmodmap или actkbd.
Что дальше?
Да что угодно =) Можно переводить фразы, выделенные мышкой, можно копировать их в программу для заметок — всё зависит от вашей фантазии и потребностей. Конечно, для таких вещей могут существовать отдельные программы, но такие вот самописные скрипты, на мой взгляд, для любого пользователя окажутся удобнее всего — linux тем и хорош, что можно всё, абсолютно всё настроить под себя и для себя.
Update: добавлена ссылка на менеджер буфера обмена Parcellite — спасибо хабрапользователю drujebober
Update 2: по просьбе хабраюзера dimaka добавил скрипты для перевода:
+ ! t t
f Copy full filename into clipboard
echo -n %d/%f | xclip
_________
Текст подготовлен в редакторе VIM 😉
Источник
Как получить доступ к буферу обмена с помощью xclip в Ubuntu
Главное меню » Ubuntu » Как получить доступ к буферу обмена с помощью xclip в Ubuntu
Вы также можете вырезать текст из одного раздела документа и вставить его в другую часть документа или в другое место в текстовом редакторе. Выбранная информация будет скопирована и сохранена в буфере обмена, пока вы ее куда-нибудь не вставите. Xclip – отличный инструмент, который используется в качестве буфера обмена в ОС Ubuntu. Эта статья посвящена тому, как установить и использовать буфер обмена Xclip. Давай начнем:
Как установить Xclip в Ubuntu
Вы можете получить Xclip, набрав в терминале следующую команду:
Проверить его возможности можно с помощью команды в терминале:
Вы также можете получить дополнительную помощь о том, как использовать буфер обмена xclip, используя указанную ниже команду в терминале:
Эта команда откроет новое окно в терминале, где вы сможете найти все функции буфера обмена xclip. Если вы не уверены и не знаете, как использовать этот буфер обмена, вы также можете воспользоваться примерами, упомянутыми там, прокрутив немного вниз.
Как использовать буфер обмена Xclip в Ubuntu с примерами
Давайте возьмем несколько примеров этого буфера обмена для лучшего понимания. Предположим, вы хотите скопировать имя любого веб-сайта в буфер обмена, а затем, позже, вы также можете вставить его с помощью следующего метода, упомянутого ниже.
Эта команда используется для копирования имя веб – сайта, «andreyex.ru» в этом случае, в Xclip буфер обмена. Вторая команда упоминается ниже:
Он используется для вставки содержимого из буфера обмена, отображаемого в третьей строке терминала.
Предположим, вы хотите отобразить дату и время с помощью буфера обмена, выполните команду, указанную ниже:
Как скопировать содержимое текстового файла с помощью буфера обмена xclip в ОС Ubuntu
Теперь давайте рассмотрим еще один пример копирования содержимого любого текстового файла и затем вставим его в терминал. Для этого подхода сначала создайте текстовый файл, что вы можете сделать с помощью любого текстового редактора. В нашем случае мы используем текстовый редактор VIM. Сначала вам нужно установить его, если у вас его нет, затем используйте команду, указанную ниже:
Следующим шагом после его установки будет создание текстового файла с некоторым содержимым внутри. Для создания файла используйте следующее:
Это откроет редактор vim с именем файла «testfile.txt», чтобы записать все.
Здесь «: wq» используется для сохранения и выхода из редактора vim. Теперь, когда файл сохранен, следующим шагом будет перемещение содержимого текстового файла в буфер обмена, а затем также вставка содержимого. Используйте команду, как показано ниже:
Первая команда скопирует содержимое в буфер обмена. Позже вы также можете получить доступ к содержимому файла из буфера обмена, который уже обсуждался ранее. Вы также можете нажать среднюю кнопку мыши, чтобы вставить содержимое буфера обмена, вместо того, чтобы вводить команду $ xclip -o , но иногда у нас нет мыши, поскольку мы работаем с ковриком для мыши ноутбука или с помощью мыши, имеющей только две кнопки. Так что это не всегда рекомендуется.
Заключение
Буфер обмена – отличный инструмент, где могут быть сохранены скопированные данные или информация из любого текстового файла, изображение, а позже эта информация может быть получена при необходимости. Это позволяет с легкостью переносить текст и файлы по всей системе. Можно сделать гораздо больше, чтобы упростить использование и добавить новые функции. Все это можно сделать с помощью буфера обмена Xclip. Все, что вам нужно сделать, это установить его, а затем понять его функциональность, внимательно прочитав эту статью.
Источник