В данной статье разберем утилиту xclip, которая позволяет скопировать вывод любой команды или текст любого файла в буфер обмена в терминале Linux.

Предисловие

Этот абзац для тех, кто нашел эту статью в поисковой системе, чтобы узнать как просто копировать и вставлять текст в терминале Linux (в Ubuntu в частности), так как обычные сочетания клавиш CTRL - C и CTRL -V не работают. Для этих действий используются CTRL - SHIFT - C и CTR - SHIFT - V, соответсвтенно.

Утилита xclip

xclip - утилита для работы с буфером обмена из консоли.

Давайте её установим в Ubuntu:

sudo apt install xclip

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

Примеры использования xclip.

Давайте рассмотрим работу xclip на примерах.

Допустим, есть у нас публичный ключ ssh, который мы хотим скопировать и вставить в систему для доступа к ней без ввода пароля:

Примеры использования xclip

Не совсем удобно копировать данный текст в терминале, можно ошибиться в пробелах и тд. Поэтому, давайте воспользуемся xclip.

Чтобы скопировать в буфер обмена, перенаправляем вывод любой команды в xlip:

cat id_rsa.pub | xclip -selection clipboard

или короткая версия:

cat id_rsa.pub | xclip -sel clip

Если вы не знаете, что такое |, то это означает, что мы вывод первой команды перенаправляем на вход второй после |.

Для тех, кто хочет узнать про перенаправление потоков вывода, советую прочитать мою статью: Терминал Linux. Как сохранить в файл вывод терминала..

Теперь мы можем вставить скопированный текст куда захотим, к примеру, на сайте github:

Примеры использования xclip

Но мы можем просто скопировать в буфер обмена весь текстовый файл, для этого указываем команду xclip с ключом -in (-i):

xclip -selection clipboard -in id_rsa.pub

или короткая версия:

xclip -sel clip -i id_rsa.pub

С помощью данной утилиты мы можем и вставить текст в терминал из буфера обмена. Для этого нужно указать команду xclip вместе с ключом -out (-o):

xclip -selection clipboard -out

или короткая версия:

xclip -sel clip -o

Примеры использования xclip

Но, согласитесь, что не удобно постоянно набирать параметр -sel clip, который указывать на буфер обмена.

Давайте создадим постоянные алиасы для команды копирования и вставки:

gedit  ~/.bash_aliases

Вставляем туда строки:

alias pbcopy='xclip -sel clip'
alias pbpaste='xclip -sel clip -o'

Примеры использования xclip

Если вы не знаете, что такое алиасы, то советую прочитать следующую статью: Терминал Linux. Создание alias (псевдонима) в Ubuntu..

Сохраняем файлик, и если переоткрыть терминал (открыть новую сессию терминала), то теперь можно использовать наши новые команды. Теперь, чтобы скопировать публичный ключ ssh, нам достаточно ввести следующую команду:

cat id_rsa.pub | pbcopy

Или:

pbcopy -i cat id_rsa.pub

Псевдонимы pbcopy и pbpaste я использую, потому что я часто пользуюсь системой macosx и там есть команды с такими названиями. Вы можете назвать алиасы по вашему желанию.

Ну и вставить текст в терминале:

pbpaste

Примеры использования xclip

Ну и напоследок, хотелось продемонстрировать как еще можно пользоваться данной утилитой. К примеру, есть у нас файл лога, и мы хотим просмотреть его последние 10 строк:

tail -n 10 /var/log/syslog

И мы хотим скопировать его, чтобы кому-то отправить его, просто укажем нашу утилиту:

tail -n 10 /var/log/syslog | xclip -sel clip

либо используя наш алиас:

tail -n 10 /var/log/syslog | pbcopy

Примеры использования xclip

Вот и всё.


Если у вас возникли вопросы.

Приглашаю задавать их на сервисе вопросов и ответов: Ask.LinuxRussia.com.
Там ваши вопросы не потеряются и вы быстрее получите ответ, в отличие от комментариев.

Поделиться:


Внимание!

Сайт находится на этапе восстановления.

Именно поэтому рядом с заголовком сайта расположен ярлык Beta.

В данный момент не работает поиск на сайте.

Более подробно по данной ситуации расписано в статье (в комментариях к этой статье можно задавать вопросы по работе сайта): Возвращение сайта LinuxRussia.com.

Статистика

Количество опубликованных статей:

66

Количество опубликованных заметок:

2
Нравится Сайт? Подпишись!

И получай самые свежие новости с сайта!

Следить за новостями сайта в Telegram:

Подписывайтесь на наш канал в Telegram: @linuxrussia

Для этого достаточно иметь Telegram на любом устройстве и пройти по ссылке: https://telegram.me/linuxrussia.

Следить за новостями сайта в Twitter:

Читать @LinuxRussia

Подписывайтесь на нашу группу ВКонтакте:

Подписаться на новости

Подписывайтесь на основную RSS ленту:

Последние статьи

Подписывайтесь на RSS ленту заметок:

Последние заметки
Последние комментарии