Можно ли скопировать вывод в буфер обмена, не используя мышь?
Например, я хотел бы сделать что-то вроде этого:
$ pwd >> буфер обмена
Вы можете получить и использовать команды xclip
и xsel
. Инструкции по их получению и использованию здесь .
Без каких-либо аргументов xclip
копирует в основной буфер обмена (щелчок средней кнопкой мыши) вместо буфера обмена контекстного меню Ctrl- C/Ctrl- V/правой кнопкой мыши.
Попробуйте echo foo | xclip -selection clipboard
для копирования текста в последний.
Для вывода буфера обмена в стандартный вывод: xclip -selection clipboard -o
Эквивалентной утилитой для MacOS является pbcopy
(и pbpaste
)
Боюсь, что в большинстве оболочек Linux нет такой вещи, как "буфер обмена", по крайней мере, я не знаю о ней. На X-сервере есть буфер обмена (если в вашей системе установлен X11, вы можете получить к нему доступ с помощью команды xclip
). Если вы подключаетесь к своей учетной записи оболочки с помощью некоторого программного обеспечения эмулятора ssh/ терминала, такого как PuTTy, вы можете использовать буфер обмена системы, которую вы используете, но это все равно будет внешний буфер обмена, и вы не сможете избежать использования мыши.
То, что я нашел, это маленький аккуратный скрипт bash, который можно найти по адресу http://geek.phatus.com/2010/01/create-a-simple-yet-very-useful-bash-clipboard/ . Он в основном создает временный файл, который служит буфером обмена - вы можете очистить, выполнить, записать и т.д. Ваши временные данные, используя набор команд, что фактически делает буфер обмена;)
Если вы используете MAC, вы можете использовать pbcopy следующим образом:
pbcopy < thing_to_write_to_clipboard
Я сделал небольшой инструмент, обеспечивающий аналогичную функциональность, без использования xclip или xsel. Std out копируется в буфер обмена и может быть снова вставлен в терминал, см .:
https://sourceforge.net/projects/commandlinecopypaste/
Обратите внимание, что этот инструмент не нуждается в x-сессии. Буфер обмена можно просто использовать в терминале и не вставлять с помощью Ctrl + V или щелчка средней кнопкой мыши в другие окна X-Windows.
И это ужасно, если вы хотите скопировать вывод терминала в буфер обмена, но у вас нет мыши, подключенной к вашему компьютеру, - с помощью функции "клавиш мыши" в X.
Нажмите Shift+NumLock, и ваши цифровые клавиши будут работать для управления движением курсора. Затем вы можете нажать Num 0, чтобы смоделировать нажатие и удерживание LMB, и переместить курсор, как вам нужно, затем нажать Num 5, чтобы смоделировать освобождение LMB. Теперь вы выбрали свой текст. Для имитации RMB вы нажимаете Num -, чтобы изменить активную кнопку мыши, затем Num 5, чтобы получить контекстное меню. Теперь вы хотите вернуться в режим LMB: нажмите Num /. Теперь вы можете переместить курсор в пункт меню "Копировать" и нажать Num 5. Это все. У вас есть текст в буфер обмена. Нажмите Shift+NumLock, чтобы вернуть вашу цифровую клавиатуру в исходное состояние.
PS: в некоторых дистрибутивах (например, Kubuntu) сочетание клавиш мыши по умолчанию отключено или как-то скрыто.