En esta guía, vamos a aprender qué son los programas Xclip y Xsel, y cómo manipular y acceder a los contenidos del Portapapeles usando los programas Xclip y Xsel en Linux.
¿Qué son los programas Xclip y Xsel?
Xclip es una interfaz de línea de comandos para X selecciones, es decir, Portapapeles . Xclip lee los datos de uno o más archivos y hace que los datos estén disponibles como una selección X para pegar los datos en las aplicaciones X. Si no se especifican archivos, lee los datos de la entrada estándar. También puede imprimir la selección X en la salida estándar.
En Linux, los portapapeles se conocen como "Selecciones" y hay tres tipos de portapapeles disponibles en X11 sistema de ventanas Son PRIMARIO, SECUNDARIO y PORTAPAPELES. Para obtener más detalles sobre el Portapapeles, consulta este enlace .
Xsel es una herramienta de manipulación de portapapeles y selección de línea de comandos X11. Se utiliza para acceder al portapapeles X y a los búferes de selección en sistemas operativos Linux y similares a Unix.
Con la ayuda de los programas Xclip y Xsel, podemos imitar fácilmente la funcionalidad de pbcopy y pbpaste Comandos en Linux. Para aquellos que se preguntan, pbcopy y pbpaste se utilizan para manipular portapapeles y están disponibles exclusivamente para la plataforma Mac OS X.
Instalar Xclip y Xsel en Linux
Los programas Xclip y Xsel están disponibles en los repositorios oficiales de la mayoría de las distribuciones de Linux modernas.
En Alpine Linux, ejecute el siguiente comando para instalar Xclip y Xsel:
$ sudo apk add xclip xsel
Para instalar Xclip y Xsel en Arch Linux y sus variantes como Manjaro Linux, ejecute:
$ sudo pacman xclip xsel
En RHEL, CentOS, AlmaLinux y Rocky Linux:
$ sudo dnf install epel-release
$ sudo dnf install xclip xsel
En Fedora:
$ sudo dnf xclip xsel
En Debian, Ubuntu, Pop!_OS, Linux Mint:
$ sudo apt install xclip xsel
En openSUSE:
$ sudo zypper install xclip xsel
Manipule y acceda al contenido del portapapeles usando Xclip y Xsel
Aunque Xclip y Xsel son programas similares y hacen el mismo trabajo, su uso es ligeramente diferente entre sí. Primero, analicemos el uso del programa Xclip.
1. Ejemplos de comandos de Xclip
Xclip maneja las selecciones PRIMARIA, SECUNDARIA, además del Portapapeles del sistema.
1.1. Copie datos al portapapeles usando Xclip
Para copiar la salida de un comando al portapapeles usando Xclip, ejecute:
$ echo "Welcome To OSTechNix" | xclip -selection clipboard
También puede usar esta versión corta del comando anterior:
$ echo "Welcome To OSTechNix" | xclip -sel c
Aquí, -sel
representa la -selection
y c
representa clipboard
.
Según el comando anterior, Xclip copió la salida del echo
comando, es decir, "Bienvenido a OSTechNix", al área de selección principal X11 (es decir, portapapeles). Del mismo modo, puede copiar/enviar la salida de cualquier otro comando al portapapeles. Aquí hay otro ejemplo:
$ uname -r | xclip -sel c
En nuestros ejemplos anteriores, copiamos la salida de stdin en el búfer del portapapeles. ¿Qué pasa con el contenido de un archivo? También es posible.
Para copiar el contenido del archivo en el portapapeles usando Xsel
comando, ejecutar:
$ xclip -selection clipboard < ostechnix.txt
O usa brevemente esto:
$ xclip -sel c < ostechnix.txt
Los comandos anteriores no mostrarán el contenido de los archivos. En cambio, solo copiarán el contenido del archivo al portapapeles del sistema. Puede leer más detalles sobre cómo copiar el contenido del archivo en el portapapeles en este enlace .
1.2. Pegue datos del portapapeles a la consola usando Xclip
Ahora sabemos cómo copiar los datos de la salida estándar y un archivo al portapapeles. ¿Cómo recuperar los datos copiados del portapapeles? ¡Así de simple! Ejecute el siguiente comando para pegar el contenido del portapapeles del sistema en la consola:
$ xclip -o -sel clip
O,
$ xclip -o -sel c
Si desea pegar el contenido de la selección primaria X11 área a la consola, ejecute:
$ xclip -o
1.3. Pegue datos del portapapeles al archivo usando Xclip
En lugar de mostrar (pegar) el contenido del portapapeles, también puede pegar directamente el contenido del portapapeles del sistema o el área de selección principal de X11 en un archivo como el siguiente:
$ xclip -o -sel clip > output_file.txt
O,
$ xclip -o > output_file.txt
El único ">"
mark sobrescribirá el contenido existente del archivo de salida. En lugar de sobrescribir, simplemente puede agregar datos en el archivo de salida usando doble ">>"
símbolos.
$ xclip -o >> output_file.txt
Para obtener más detalles, consulte la página del manual de Xclip:
$ man xclip
2. Ejemplos de comandos Xsel
De forma predeterminada, Xsel opera en la selección X PRIMARY a menos que especifique exclusivamente la selección X.
2.1. Copie datos al portapapeles usando Xsel
Para copiar la salida de un comando en el portapapeles usando Xsel, ejecute:
$ echo "Welcome To OSTechNix" | xsel -ib
Los comandos anteriores se leen desde STDIN y se guardan en el portapapeles; como si Ctrl + C
.
Para copiar el contenido del archivo al portapapeles, ejecute:
$ cat input_file.txt | xsel -ib
Aquí, i
representa entrada y b
representa portapapeles.
También puede usar los siguientes comandos:
$ xsel --clipboard < input_file.txt
O, brevemente, usa esto:
$ xsel -b < input_file.txt
De nuevo, -b
representa portapapeles.
2.2. Pegue datos del portapapeles a la consola usando Xsel
Para pegar o mostrar el contenido del portapapeles en la Terminal (equivalente a Ctrl + V
), ejecuta:
$ xsel -ob
Aquí, o
representa salida y b
representa portapapeles.
2.3. Pegue datos del portapapeles al archivo usando Xsel
Para pegar el contenido del portapapeles en un archivo:
$ xsel -ob > output_file.txt
Si no desea sobrescribir el contenido existente del archivo de salida, simplemente agregue los datos usando doble ">>"
símbolos como a continuación:
$ xsel -ob >> output_file.txt
Si desea pegar el contenido de la selección principal de X11 en la terminal (equivalente a un clic con el botón central del mouse), use -p
(selección PRIMARIA) en lugar de -b
(Portapapeles):
$ xsel -op
2.4. Borrar portapapeles usando Xsel
Para borrar el contenido del portapapeles, ejecute:
$ xsel -cb
Para obtener más detalles, consulte la página del manual de Xsel:
$ man xsel
Conclusión
En esta guía, discutimos cómo manipular y acceder a los contenidos del Portapapeles usando los programas Xclip y Xsel con ejemplos en sistemas operativos Linux y similares a Unix.
Espero que esto ayude.