Оболонка Linux: Скопіюйте вихід у буфер обміну без миші?


25

Чи можливо скопіювати вихід у буфер обміну без використання миші?

Наприклад, я хотів би зробити щось подібне:

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


кішка / тощо / 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: Яким чином саме це не працює ? Повідомлення про помилку? Порушення поведінки? Аномалії магнітного поля?
Призупинено до подальшого повідомлення.

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

1
@Dennis, можливо, ви можете додати останній коментар до відповіді, оскільки це досить важливе, а не очевидне та чудове доповнення.
Квоте

2

Я боюся, що в більшості оболонок Linux немає такого поняття, як "буфер обміну", принаймні жодної, про яку я не знаю. На сервері X є буфер обміну (якщо у вашій системі є X11, ви можете отримати доступ до нього за допомогоюxclip команди). Якщо ви підключитесь до свого облікового запису оболонки за допомогою програмного емулятора ssh / terminal, наприклад, PuTTy, ви можете використовувати буфер обміну використовуваної вами системи, але це все ще буде зовнішнім буфером обміну, і ви, можливо, не зможете уникнути використання миші.

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


оп був просто трохи незрозумілий щодо його налаштування: він мав на увазі буфер обміну xserver.
акіра


0

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

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

Зауважте, що цьому інструменту не потрібен сеанс x. Буфер обміну можна просто використовувати в терміналі, а не вставляти клавішами ctrl + v або клацанням середньої клавіші миші в інші x-windows


0

І це некрасиво, якщо ви хочете скопіювати висновок терміналу у буфер обміну, але у вас немає миші, підключеної до машини - за допомогою функції "клавіші миші" X.

Натисніть Shift+ NumLock, і ваші клавіші numpad працюватимуть для управління рухом курсору. Потім ви можете натиснути, Num 0щоб імітувати натискання та утримування LMB, і переміщувати курсор у міру необхідності, а потім натиснути, Num 5щоб імітувати випуск LMB. Тепер ви вибрали свій текст. Щоб імітувати RMB, ви натискаєте Num -для зміни активної кнопки миші, а потім, Num 5щоб отримати контекстне меню. Тепер ви хочете повернутися в режим LMB: натисніть Num /. Тепер ви можете перемістити курсор до пункту меню «Копіювати» та натиснути Num 5. Це все. У вас є текст у буфері обміну. Натисніть клавішу Shift+, NumLockщоб повернути цифрову клавіатуру до її початкової функції.

PS: У деяких дистрибутивах (наприклад, Kubuntu) клавіша миші, як видається, вимкнено за замовчуванням або якось прихована.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.