Cómo copiar y pegar texto en Linux Bash Shell

Puntos clave
- Ctrl+C y Ctrl+V, comúnmente utilizados para copiar y pegar en aplicaciones gráficas, no funcionan en el símbolo del sistema del shell Bash.
- Para copiar y pegar en el símbolo del sistema del shell Bash, puede usar Ctrl+Shift+C y Ctrl+Shift+V o hacer clic derecho y seleccionar "Copiar" y "Pegar" en el menú contextual.
- También puede presionar el botón central del mouse para pegar automáticamente el texto seleccionado en la ubicación del cursor.
¿Quiere copiar y pegar desde la línea de comando del shell Bash? Te mostraremos diferentes técnicas, ya sea que prefieras el teclado o el mouse. Funcionan ya sea que esté en un escritorio gráfico o en un TTY tradicional basado en texto.
Los atajos de teclado habituales para copiar y pegar no funcionarán
Copiar y pegar texto es una parte fundamental del uso de una computadora. Cuando las personas usan una computadora Linux por primera vez, sin importar si son de Windows o en el mundo macOS, a menudo se confunden al intentar copiar y pegar dentro de una ventana de terminal.
En uso de Windows Ctrl+C
para copiar una sección del texto resaltado e Ctrl+V
para pegarlo. En macOS, usas Command+C
para copiarlo e Command+V
para pegarlo. Siguen la misma convención que C
copia e V
insertar.
Esas mismas claves funcionan en la mayoría de las aplicaciones gráficas de Linux, como el editor gedit o la suite ofimática LibreOffice.Ctrl+C
copiar el texto resaltado e Ctrl+V
lo pega en el cursor. Nuestro recién llegado a Linux probablemente ni siquiera piensa en el hecho de que estas convenciones se han transferido a estas aplicaciones. Utilizan pulsaciones de teclas de la memoria muscular y continúan con su trabajo.
Una vez que nuestro recién llegado abre una ventana de terminal e intenta copiar y pegar en el símbolo del sistema del shell Bash, todo cambia. Ctrl+C
Y Ctrl+V
Las funciones se asignaban mucho antes de que se pensara en copiar y pegar. De hecho, esas pulsaciones de teclas se reclutaron mucho antes de que se inventaran los shells gráficos, cuando un teleimpresor (TTY) era algo físico.
Ctrl+C y Ctrl+V en TTY
Cuando un TTY era un dispositivo físico, Ctrl+C
fue elegido como una práctica combinación de teclas para generar una señal. Esa señal es SIGINT, que le indica al proceso actual que finalice. Dado que una ventana de terminal es un TTY emulado, esa combinación de teclas (y muchas otras) se ha conservado y replicado en la emulación. Tenga en cuenta que es la ventana de terminal la que es la emulación. El shell Bash es un programa que se ejecuta en ese TTY emulado.
Podemos ver fácilmente las funciones que tienen asignadas. Ctrl+C
Y Ctrl+V
. Supongamos que escribe el siguiente comando y presiona "Entrar".
ls -R /
¿Por qué utilizamos el -R
opción (recursiva) la ls
El comando comenzará a enumerar todos los archivos y directorios, comenzando desde el directorio raíz. Después de un par de momentos, te das cuenta de que eso no es lo que querías, por lo que finalizas el proceso presionando Ctrl+C
.
Ctrl+C
EL ls
el proceso ha terminado. La prueba visible de Ctrl+C
está resaltado en la captura de pantalla. aparece como ^C
.
EL Ctrl+V
la combinación de teclas invoca "inserción literal". Esto le permite insertar una representación de una clave en lo que está escribiendo, en lugar de obtener el efecto de la clave. Para verlo, pruebe los siguientes comandos (no escriba comas). (Por ejemplo, para probar el primero, presione Ctrl+V y luego presione Entrar).
Ctrl+V, Enter
Ctrl+V, PgDn
Ctrl+V, RightArrow
Ctrl+V, Esc
Por cierto, puede notar que Enter está representado por ^M
. Lo hemos visto antes Ctrl+C
se presentó como ^C
. Así parecería ^
representa Ctrl
. COMO Ctrl+M
probablemente signifique lo mismo que Enter. Esto significa que podemos ingresar Enter escribiendo Ctrl+M
? Pruébelo en una ventana de terminal. Verás que este es el caso.
Entonces, claramente no podemos esperar que Ctrl+C
Y Ctrl+V
para realizar operaciones de copiar y pegar texto cuando las funciones habituales ya están asignadas. Entonces, ¿qué podemos usar?
Ctrl+Mayús+C y Ctrl+Mayús+V
Se recuerdan fácilmente porque son muy similares a sus homólogos, Ctrl+Shift+C
Y Ctrl+Shift+V
son sustitutos directos de Ctrl+C
Y Ctrl+V
.
Si resalta el texto en la ventana de terminal con el mouse y presiona Ctrl+Shift+C
Copiará ese texto en un búfer del portapapeles.
Ctrl+Shift+C
puedes usar Ctrl+Shift+V
para pegar el texto copiado en la misma ventana de terminal o en otra ventana de terminal.
Ctrl+Shift+V
También puedes pegarlo en una aplicación de gráficos como gedit
. Pero tenga en cuenta que cuando pega en una aplicación, y no en una ventana de terminal, debe usar Ctrl+V
.
Y también puedes ir al revés. Puedes resaltar texto en gedit
y golpear Ctrl+C
luego péguelo en una ventana de terminal usando Ctrl+Shift+V
.
La combinación de teclas Ctrl+Insert
equivalente a Ctrl+Shift+C
y la combinación Shift+Insert
equivalente a Ctrl+Shift+V
. La advertencia aquí es que solo se pueden usar dentro de la misma ventana de terminal.
Usando el mouse: haga clic derecho
Puede usar el mouse para copiar y pegar en una ventana de terminal. Necesita usar el mouse para resaltar el texto que desea copiar, entonces, ¿por qué no usarlo para realizar acciones de copiar y pegar?
Después de resaltar algo de texto, haga clic derecho y seleccione "Copiar" en el menú contextual.
Para pegar el texto copiado, haga clic derecho nuevamente y seleccione "Pegar" en el menú contextual.
El texto se pega en la posición del cursor en la línea de comando. En este ejemplo, la ruta relativa se proporcionó incorrectamente y Bash no puede cambiar los directorios. El usuario omitió el "~/" del principio de la ruta. Escribieron "~/" y luego copiaron el resto de la ruta del intento anterior y lo pegaron en la segunda línea de comando.
Cuando presionan Enter, son movidos al directorio.
Este ejemplo muestra cómo pegar en la misma ventana de terminal, pero puede usar esta técnica de clic derecho para pegar en diferentes ventanas de terminal. También puede pegar en aplicaciones de gráficos utilizando este método.
Usando el ratón: botón central
Existe una forma aún más rápida de copiar y pegar usando el mouse, siempre que el mouse tenga un botón central. Si presionas la rueda de desplazamiento (¡suavemente!) y hace clic, tienes un botón central.
Resalte algo de texto en una ventana de terminal y luego presione el botón central. El texto resaltado se pega en la posición del cursor en la línea de comando. Copiar y pegar ocurre al mismo tiempo.
Luego, resalta algún texto:
Luego presione el botón central:
Puedes utilizar este método para pegar entre diferentes ventanas de terminal e incluso en aplicaciones gráficas. Simplemente resalte el texto, cambie a la otra ventana de terminal o aplicación y presione el botón central.
Vieja escuela: sin ratón
¿Y cuando no tienes ratón? Si no puedes resaltar ningún texto, ¿cómo puedes copiarlo y pegarlo?
Los servidores Linux a menudo se configuran sin un entorno de escritorio gráfico (GDE), lo que significa que no tienes acceso a un mouse. Incluso en una computadora Linux que ejecuta un entorno de escritorio gráfico como GNOME y tiene un mouse, habrá casos en los que no podrá usar el mouse para resaltar texto.
Por ejemplo, es posible que haya cambiado a uno de los TTY adicionales. En las distribuciones modernas, estos se encuentran en Ctrl+Alt+F3
(TTY3) hasta Ctrl+Alt+F6
(TTY6). (Ctrl+Alt+F2
lo llevará de regreso a la sesión de GDE e Ctrl+Alt+F1
lo llevará a la pantalla de inicio de sesión de su GDE).
Tal vez incluso esté utilizando un dispositivo TTY de hardware genuino para conectarse a una computadora Linux o Unix.
En cualquier caso, estas técnicas funcionarán para ti. Lo que hay que recordar aquí es que no se trata de copiar y pegar, sino de cortar, copiar y pegar, y sólo se puede cortar y copiar desde la línea de comando actual. Por supuesto, puede usar las teclas de flecha para desplazarse por su historial y encontrar la línea de comando que desea cortar, copiar y pegar.
Las secuencias clave que puedes utilizar son:
- CTRL+W: corta la palabra antes del cursor y la agrega al búfer del portapapeles.
- CTRL+K: Corta la parte de la línea después del cursor y la agrega al búfer del portapapeles. Si el cursor está al principio de la línea, cortará y copiará la línea completa.
- CTRL+U: Corta la parte de la línea antes del cursor y la agrega al búfer del portapapeles. Si el cursor está al final de la línea, cortará y copiará la línea completa.
- CTRL+Y: Pega el último texto cortado y copiado.
Pasemos a TTY3. (Utilice Ctrl+Alt+F1 para volver al escritorio más tarde).
Ctrl+Alt+F3
tty
Tenemos un archivo que queremos eliminar, revisemos que esté aquí.
ls -l file_to_delete.txt
Si usamos la tecla de flecha hacia arriba, llamaremos al último comando que usamos del historial de comandos. Podríamos simplemente editar esta línea, pero el objetivo es demostrar cómo cortar, copiar y pegar, por lo que haremos nuestro trabajo de eliminar el archivo de una manera ligeramente alargada.
Movemos el cursor a la primera letra del nombre del archivo, luego presionamos Ctrl+K
. Esto eliminará esa parte de la línea y copiará el texto en el búfer del portapapeles.
Presionaremos Retroceso hasta eliminar la línea.
Escribiremos el archivo rm
para eliminar el archivo.
Y ahora podemos atacar Ctrl+Y
y pega el resto de la línea.
Esto completa nuestro comando y podemos presionar Enter para eliminar el archivo.
Este tipo de cortar, copiar y pegar no se puede utilizar entre TTY adicionales. Por ejemplo, no puede cortar, copiar y pegar entre TTY3 y TTY4.
Es mejor pensar en los TTY adicionales como una línea de TTY físicos uno al lado del otro. No hay forma de cortar y pegar entre diferentes terminales físicos, y tampoco hay forma de hacerlo en estas emulaciones.
Cópialo, comprueba
Cualquiera que sea la situación en la que se encuentre al utilizar una computadora con Linux, habrá una manera de copiar y pegar. Tienes opciones. Algunas de ellas son opciones extrañas, pero al menos hay opciones.