Linux Shell: ¿Copiar la salida en el portapapeles sin usar el mouse?

25

¿Es posible copiar la salida en el portapapeles sin usar el mouse?

Por ejemplo, me gustaría hacer algo como esto:

$ pwd >> portapapeles

Hayek
fuente
cat / etc / passwd | xsel --clipboard
Abhisheietk

Respuestas:

25

Puede obtener y usar los comandos xclipy xsel. Las instrucciones para obtenerlas y usarlas están aquí .

Sin ningún argumento, xclipcopia en el portapapeles primario (medio-clic-pegar) en lugar del portapapeles Ctrl- C/ Ctrl- V/ click-click-context-menu.

Intenta echo foo | xclip -selection clipboardcopiar algo de texto en este último.

Para enviar el portapapeles a la salida estándar: xclip -selection clipboard -o

La utilidad equivalente para MacOS es pbcopy(y pbpaste)

Pausado hasta nuevo aviso.
fuente
1
@brauliobo: ¿Dónde está "aquí"? En serio, ¿qué quieres decir? ¿No funciona exactamente de qué manera?
Pausado hasta nuevo aviso.
1
@DennisWilliamson Lo he intentado cat file | xclipy no funciona
brauliobo
1
@brauliobo: ¿No funciona exactamente de qué manera ? ¿Mensaje de error? ¿Mala conducta? Anomalías del campo magnético?
Pausado hasta nuevo aviso.
8
@brauliobo: Supongo que klipperes un visor de portapapeles. Intente cat file | xclip -selection clipboardSin los argumentos adicionales, xclipcopie en el portapapeles primario (medio-clic-pegar) en lugar del portapapeles Ctrl-C / Ctrl-V / derecho-clic-menú contextual.
Pausado hasta nuevo aviso.
1
@ Dennis, tal vez pueda agregar el último comentario a la respuesta, ya que es bastante importante y no obvio, y una gran adición.
Kvothe
2

Me temo que no existe el "portapapeles" en la mayoría de los shells de Linux, al menos ninguno que yo sepa. Hay un portapapeles en el servidor X (si su sistema tiene X11, puede acceder usando el xclipcomando). Si se conecta a su cuenta de shell utilizando algún software de emulador de terminal / ssh, como PuTTy, puede usar el portapapeles del sistema que está usando, pero aún así sería un portapapeles externo y es posible que no pueda evitar usar el mouse.

Lo que he encontrado es este pequeño script ordenado de bash, que se encuentra en http://geek.phatus.com/2010/01/create-a-simple-yet-very-useful-bash-clipboard/ . Básicamente, crea un archivo temporal que sirve como portapapeles: puede borrar, ejecutar, escribir, etc. sus datos temporales utilizando un conjunto de comandos, que en realidad es lo que hace un portapapeles;)

Neo
fuente
la operación no estaba clara sobre su configuración: se refería al portapapeles del servidor x.
akira
1

Si está en un MAC, puede usar pbcopy de esta manera:

pbcopy < thing_to_write_to_clipboard
coderdan
fuente
0

Hice una pequeña herramienta que proporciona una funcionalidad similar, sin usar xclip o xsel. Std out se copia en un portapapeles y se puede pegar nuevamente en el terminal, consulte:

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

Tenga en cuenta que esta herramienta no necesita una sesión x. El portapapeles solo se puede usar dentro de la terminal y no se puede pegar con Ctrl + V ni hacer clic con el botón central del mouse en otras ventanas X

Dirk Duschinger
fuente
0

Y de una manera fea, para los casos en que desea copiar la salida del terminal al portapapeles pero no tiene un mouse conectado a su máquina, utilizando la función "teclas del mouse" de X.

Presione Shift+ NumLock, y las teclas de su teclado numérico funcionarán para controlar el movimiento del cursor. Luego puede presionar Num 0para simular presionar y mantener LMB, y mover el cursor según lo necesite, luego presionar Num 5para simular la liberación de LMB. Ahora has seleccionado tu texto. Para simular RMB, presione Num -para cambiar el botón activo del mouse y luego Num 5para obtener el menú contextual. Ahora desea volver al modo LMB: presione Num /. Ahora puede mover el cursor a la entrada del menú "Copiar" y presionar Num 5. Eso es todo. Tienes tu texto en el portapapeles. Presione Shift+ NumLockpara obtener su teclado numérico a su función original.

PD: En algunas distribuciones (por ejemplo, Kubuntu), el atajo de teclas del mouse parece estar deshabilitado de manera predeterminada o de alguna manera oculto.

Ruslan
fuente