Comparando TOML, JSON y YAML
Borrar commits de git: reset, rebase y cherry-pick

Copiar y pegar desde la terminal

Copiar y pegar desde la terminal

Copiar y pegar desde la terminal puede ser muy útil para manejar el portapapeles sin necesidad del ratón o de atajos de teclado, desde los mismos scripts o la línea de comandos. Con los ejemplos seguro que verás muchas posibilidades de uso.En OSX, los comandos pbcopy y pbpaste están disponibles por defecto. Por lo tanto, para copiar un archivo en el portapapeles a través del terminal OSX, sería algo como lo siguiente:

pbcopy < 'ruta del archivo'

El método alternativo para copiar el contenido del archivo en el portapapeles, a través del terminal Linux.

Índice:

xclip y xsel en Linux

Dado que, en Linux, los comandos pbcopy y pbpaste no están disponibles por defecto, la instalación de xclip o xsel servirá para nuestro propósito.

sudo apt update

sudo apt install xclip xsel -y

Ahora tan solo hay que darle un alias a los comandos de copiar y pegar, para facilitar su uso:

alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'

Este texto hay que ponerlo en el fichero de configuración de tu shell. Por ejemplo, si usas bash es el fichero oculto .bashrc y si usas zsh, como es mi caso, en el fichero .zshrc. Puedes ver mi fichero completo aquí.

En caso de que no funcione xclip, usamos xsel)

alias pbcopy='xsel -b' 
alias pbpaste='xsel -b -o'

Ahora ya tenemos pbcopy y pbpaste como los alias de los comandos de copiar y pegar (copy y paste) de xclip respectivamente (En mi caso concreto con xsel). Ahora es el momento de jugar un poco.

Ejemplos de uso de copiar y pegar desde la terminal

¿Para qué nos puede servir esto?

Pues veamos una prueba muy sencilla y luego especulemos algunos usos formidables de esta nueva funcionalidad en nuestra terminal.

Vamos a crear un fichero de prueba con el contenido «Hola Don Pepito». Vamos a copiar y pegarlo en pantalla.

pbcopy < pruebas.txt

pbpaste
prueba copiar y pegar desde la terminal

Por lo tanto, ahora podemos copiar y pegar el contenido de nuestro archivo usando la terminal. Pensemos en un posible uso.

Claves ssh, gpg y todos esos hashes o códigos eternos que tenemos que trasladar a una aplicación externa. Ejemplo:

cat .ssh/id_ed25519.pub | pbcopy

Copiar comandos para incluirlos en un post

echo "cat .ssh/id_ed25519.pub pbcopy" | pbcopy

Como imaginaras, con las tuberías puedes recoger el output de cualquier comando y pegarlo donde quieras. Rollo una variables efímera. Por ejemplo:

date | pbcopy && pbpaste >> ps_info.txt && ps | pbcopy && pbpaste >> ps_info.txt

Prueba, prueba. Si se te ocurren más usos déjalo en los comentarios.

EXTRA ¯\_(ツ)_/¯

¿Sabías que existe una religión del copiar y pegar? 😮

Se llama Kopismo y se creó para amparar legalmente el intercambio de archivos en línea de tipo P2P. Busca la libertad de expresión como un bien máximo, y una cita importante que la justifica es: «Copiar y compartir información es lo mejor y más hermoso que existe. Que copien tu información es una muestra de aprecio, de que alguien cree que has hecho algo bueno».

Más apuntes

Invítame a un café con bitcoins:
1QESjZDPxWtZ9sj3v5tvgfFn3ks13AxWVZ

Bitcoins para café
También puedes invitarme a algo para mojar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Rellena este campo
Rellena este campo
Por favor, introduce una dirección de correo electrónico válida.
Tienes que aprobar los términos para continuar