Xclip, pastebinit и работа с буфером обмена

Jun 12, 2010 14:20


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

Соответственно у программы нет графического интерфейса. Примеры использования:

xclip file поместит содержание указанного файла (если нужно, то пишется полный путь к файлу) в буфер обмена

command | xclip поместит в буфер вывод команды (вместо команды можно указать и файл, тогда выйдет то же, что в предыдущем примере)

xclip -o > file поместит содержимое буфера обмена в файл

xclip -o просто выведет содержимое буфера

Ну и ещё несколько опций можно найти в мане - они могут понадобиться для скриптов.



Кстати, интересная деталь - в Linux два независимых друг от друга буфера обмена:
  • Первый работает через пункты "Копировать", "Вырезать", "Вставить" в контекстном меню или меню "Правка" программ или через сочетания клавиш Ctrl+C, Ctrl+X, Ctrl+V. То есть так же как в Windows , правда не во всех программах работают именно эти сочетания: например, в консоли, Ctrl+C завершает процесс, а копирование происходит по Ctrl+Shift+C, также операция копирования может производиться по Ctrl+Insert, а вставка по Shift+Insert.
  • Второй управляется мышью и содержит всегда любой выделенный текст, а для его вставки нужно использовать среднюю клавишу мыши, либо щелчок колёсиком, в зависимости от модели мыши, либо при отсутствии того и другого - одновременный щелчок правой и левой клавишами мыши.
Ещё выделенный текст можно перетаскивать (гораздо сводобнее, чем в Windows - не только внутри одной программы, например), но я не в курсе, имеет ли к этому отношение буфер обмена.

Так вот xclip работает именно со вторым буфером обмена.

Собственно узнала я об этой утилите, когда надо было запостить какой системный конфиг на pastebin-сервис. Через xclip это удобнее, чем открывать файл, вручную его копировать и вставлять на сайт.

Чуть позже я наткнулась на информацию об утилите ещё более упрощающей подобный процесс.

pastebinit file помещает содержимое файла на сервис и выдаёт ссылку

command | pastebinit делает то же самое с выводом указанной команды

По умолчанию текст размещается на сайте pastebin.com, но программа поддерживает много сервисов:

Для использования одного из них в команду следует добавить опцию -b:
pastebinit -b paste.debian.net file

Плюс есть ещё пара опций - -a для указания автора (по умолчанию используется имя пользователя) и -f формат вставленного текста (на сервисах подерживается подсветка синтаксиса, правда мне не удалось этого добиться командой). А чтобы не прописывать каждый раз выбранные параметры в строке целесообразно создать алиас в .bashrc.

pastebinit есть в стандартных репозиториях Ubuntu.

А в стандартных репозиториях ArchLinux есть подобная ей программа wgetpaste. Она поддерживает 5 разных сервисов (по умолчанию paste.pocoo.org), но опций у неё побольше (например, можно задать продолжительность хранения) и есть подсказка по используемым языкам (и тут это действительно получается).

Там же очень похожая на неё программа curlpaste. Поддерживает 6 сервисов, по умолчанию используется codepad.org, опции почти как у предыдущей, но есть ещё опция, позволяющая отправлять текст как приватный.

У обеих программ справка крайне понятная (вызывается опцией --help)

было тут

pastebinit, xclip, wgetpaste, archlinux, soft, clipboard, ubuntu, linux, computer

Previous post Next post
Up