Linux Shell: скопировать вывод в буфер обмена без использования мыши?


25

Можно ли скопировать вывод в буфер обмена, не используя мышь?

Например, я хотел бы сделать что-то вроде этого:

$ pwd >> буфер обмена


кошка / etc / passwd | xsel --clipboard
Abhisheietk

Ответы:


25

Вы можете получить и использовать xclipи xselкоманду. Инструкции по их получению и использованию здесь .

Без каких-либо аргументов xclipкопирует в основной буфер обмена (щелчок средней кнопкой мыши) вместо Ctrl- C/Ctrl - Vбуфер / щелчок правой кнопкой мыши, контекстное меню.

Пытаться echo foo | xclip -selection clipboard скопировать текст в последний.

Для вывода буфера обмена в стандартный вывод: xclip -selection clipboard -o

Эквивалентная утилита для MacOS - это pbcopypbpaste)


1
@brauliobo: Где здесь? Серьезно, что ты имеешь в виду? Это не работает каким образом, точно?
Приостановлено до дальнейшего уведомления.

1
@DennisWilliamson Я пытался, cat file | xclipи это не работает
brauliobo

1
@brauliobo: Это не работает в каком смысле, точно ? Сообщение об ошибке? Misbehavior? Аномалии магнитного поля?
Приостановлено до дальнейшего уведомления.

8
@brauliobo: я предполагаю klipper, что просмотрщик буфера обмена. Попробуйте cat file | xclip -selection clipboardбез дополнительных аргументов, xclipкопировать в основной буфер обмена (щелчок средней кнопкой мыши) вместо буфера обмена контекстного меню Ctrl-C / Ctrl-V / правой кнопкой мыши.
Приостановлено до дальнейшего уведомления.

1
@ Денис, возможно, вы можете добавить последний комментарий к ответу, так как это довольно важно, не очевидно и является отличным дополнением.
Kvothe

2

Боюсь, что в большинстве оболочек Linux нет такой вещи, как «буфер обмена», по крайней мере, я не знаю об этом. На X-сервере есть буфер обмена (если в вашей системе установлен X11, вы можете получить к нему доступ, используяxclip команды). Если вы подключаетесь к своей учетной записи оболочки с помощью некоторого программного обеспечения эмулятора ssh / терминала, такого как PuTTy, вы можете использовать буфер обмена системы, которую вы используете, но это все равно будет внешний буфер обмена, и вы не сможете избежать использования мыши.

То, что я нашел, это маленький аккуратный скрипт bash, который можно найти по адресу http://geek.phatus.com/2010/01/create-a-simple-yet-very-useful-bash-clipboard/ . Он в основном создает временный файл, который служит буфером обмена - вы можете очистить, выполнить, записать и т. Д. Ваши временные данные, используя набор команд, что фактически делает буфер обмена;)


Операция немного неясно о его настройке: он имел в виду буфер обмена xserver.
Акира

1

Если вы используете MAC, вы можете использовать pbcopy следующим образом:

pbcopy < thing_to_write_to_clipboard

0

Я сделал небольшой инструмент, обеспечивающий аналогичную функциональность, без использования xclip или xsel. Std out копируется в буфер обмена и может быть снова вставлен в терминал, см .:

https://sourceforge.net/projects/commandlinecopypaste/

Обратите внимание, что этот инструмент не требует x-сессии. Буфер обмена можно просто использовать в терминале и не вставлять Ctrl + V или щелчок средней кнопкой мыши в другие окна X-Windows.


0

И это ужасно, если вы хотите скопировать вывод терминала в буфер обмена, но у вас нет мыши, подключенной к вашей машине, - с помощью функции «клавиш мыши» в X.

Нажмите Shift+ NumLock, и ваши цифровые клавиши будут работать для управления движением курсора. Затем вы можете нажать, Num 0чтобы смоделировать, нажмите и удерживайте ЛКМ, и переместите курсор, как вам нужно, затем нажмите, Num 5чтобы смоделировать отпуск ЛКМ. Теперь вы выбрали свой текст. Для имитации RMB вы нажимаете, Num -чтобы изменить активную кнопку мыши, затем, Num 5чтобы получить контекстное меню. Теперь вы хотите вернуться в режим LMB: нажмите Num /. Теперь вы можете переместить курсор в пункт меню «Копировать» и нажать Num 5. Вот и все. У вас есть текст в буфер обмена. Нажмите Shift+, NumLockчтобы вернуть вашу цифровую клавиатуру к первоначальной функции.

PS: В некоторых дистрибутивах (например, Kubuntu) сочетание клавиш мыши по умолчанию отключено или как-то скрыто.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.