XClip - копирование/вставка из командной строки в Debian / Ubuntu
XClip - утилита, позволяющая работать с буфером обмена X11 (X Window System, в народе - иксы) через командную строку. Программа позволяет помещать вывод команд, запущенных в консоле, напрямую в буфер обмена. Таким образом можно не копировать вывод из терминала вручную, что бывает довольно утомительно, особенно, если вывод достаточно большой. Кроме того, XClip позволяет помещать в буфер обмена содержимое файлов.
Установка xclip
Установка утилиты классически проста:
$ sudo aptitude install xclip
Использование xclip
Чтобы поместить в буфер содержимое какого либо файла, необходимо использовать xclip следующим образом:
$ xclip /etc/apt/sources.list
Чтобы поместить вывод какой-либо команды в буфер обмена, необходимо использовать xclip следующим образом:
# Поместить содержимое текущей директории в буфер обмена
$ ls -la | xclip
# Поместить информацию о времени работы системы в буфер обмена
$ uptime | xclip
Чтобы вывести на экран содержимое буфера, необходимо выполнить следующее:
$ xclip -o
09:19:06 up 4 days, 1:51, 1 user, load average: 0.94, 1.19, 1.32
Чтобы не только сохранить вывод какой-либо команды в буфере обмена, но и вывести его на экран, необходимо использовать xclip следующим образом:
$ uptime | xclip -filter
09:22:35 up 4 days, 2:32, 1 user, load average: 1.93, 1.84, 1.62
Чтобы сохранить содержимое буфера в файле, необходимо просто перенаправить вывод xclip в необходимый файл:
# Сохранить содержимое буфера в файле clipboard.txt
$ xclip -o > clipboard.txt
А например, вот так можно отсортировать данные в буфере обмена:
$ xclip -o | sort | xclip
По умолчанию xclip помещает содержимое в XA_PRIMARY (primary) буфер. Чтобы вставить содержимое из этого буфера, необходимо нажать среднюю кнопку мыши в терминале. Это не всегда удобно, так как часто необходимо вставлять содержимое в GUI-приложение, где нажатие средней кнопки мыши работает иначе, или, наконец, просто пользоваться хот-кеями Ctrl+V / Shift+Insert. Для того, чтобы это было возможно, необходимо помещать содержимое в буфер XA_CLIPBOARD (clipboard), используя следующие параметры xclip:
$ uptime | xclip -filter -selection clipboard
09:33:46 up 4 days, 2:36, 1 user, load average: 1.02, 1.52, 1.55
# Нажимаем Shift+Insert
$ 09:33:46 up 4 days, 2:36, 1 user, load average: 1.02, 1.52, 1.55
Аналогичной функциональностью обладает утилита xsel.