Fatmawati Achmad Zaenuri / Shutterstock.com
¿Quiere copiar y pegar en la línea de comandos del shell Bash? Te mostraremos varias técnicas si prefieres el teclado o el mouse. Estos funcionan ya sea que esté en un escritorio gráfico o en un TTY tradicional basado en texto.
Los atajos de teclado habituales no funcionan
Copiar y pegar texto es una parte esencial del uso de una computadora. Cuando las personas usan por primera vez una computadora Linux, ya sean del mundo Windows o macOS, a menudo se confunden cuando intentan copiar y pegar en una ventana de terminal.
En Windows, usa Ctrl+C
para copiar una sección resaltada de texto y Ctrl+V
para pegarlo. En macOS, usas Command+C
para copiarlo y Command+V
para pegarlo. Siguen la misma convención de C
copiar y V
insertar.
Estas mismas pulsaciones de teclas funcionan en la mayoría de las aplicaciones gráficas de Linux, como el editor. gedit o la LibreOffice sala de oficina.Ctrl+C
copia el texto resaltado y Ctrl+V
lo pega al cursor. Nuestro recién llegado a Linux probablemente ni siquiera piensa en el hecho de que estas convenciones se han aplicado a estas aplicaciones. Utilizan las 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 Golpe de concha símbolo del sistema, deje que todo cambie. Ctrl+C
y Ctrl+V
se les asignaron funciones mucho antes de que se considerara copiar y pegar. De hecho, estas pulsaciones de teclas se utilizaron mucho antes de la invención de las carcasas gráficas, cuando un teletipo (TTY) era algo físico.
Ctrl + C y Ctrl + V en TTY
Cuando un ATS era un dispositivo físico, Ctrl+C
se eligió como una combinación de teclas conveniente para generar una señal. Esta señal es SIGINT, que le dice al proceso actual que termine. Debido a que una ventana de terminal es un TTY emulado, esta 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 realiza la emulación. El shell Bash es un programa que se ejecuta en este TTY emulado.
Podemos ver fácilmente las funciones que se han asignado a Ctrl+C
y Ctrl+V
. Suponga que escribe el siguiente comando y presiona «Enter».
ls -R /
Porque usamos el -R
opción (recursiva) la ls
El comando comenzará a enumerar todos los archivos y directorios, comenzando con el directorio raíz. Después de unos momentos te das cuenta de que esto no es lo que querías, por lo que completas el proceso presionando Ctrl+C
.
Ctrl+C
los ls
el proceso está completo. Prueba visible de la Ctrl+C
se resalta en la captura de pantalla. Se muestra como ^C
.
los Ctrl+V
la combinación de teclas dice «insertar palabra por palabra». Esto le permite ingresar una representación de una clave en lo que escribe, 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, luego presione Entrar).
Ctrl+V, Enter
Ctrl+V, PgDn
Ctrl+V, RightArrow
Ctrl+V, Esc
Por cierto, es posible que notes que la entrada está representada por ^M
. Vimos arriba de eso Ctrl+C
se presentó como ^C
. Parece que ^
representado Ctrl
. Entonces Ctrl+M
probablemente significa lo mismo que Enter. ¿Significa esto que podemos ingresar Enter escribiendo Ctrl+M
? Pruébelo en una ventana de terminal. Verás que lo es.
Entonces, obviamente, no podemos esperar Ctrl+C
y Ctrl+V
para copiar y pegar texto cuando ya tienen funciones dedicadas. Entonces, ¿qué podemos usar?
Ctrl + Mayús + C y Ctrl + Mayús + V
Se memorizan fácilmente porque son muy similares a sus contrapartes, Ctrl+Shift+C
y Ctrl+Shift+V
reemplazar directamente Ctrl+C
y Ctrl+V
.
Si resalta texto en la ventana de la terminal con el mouse y presiona Ctrl+Shift+C
copiará este texto a un búfer en el 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 puede pegar en una aplicación de gráficos como gedit
. Pero tenga en cuenta que cuando pega en una aplicación (no en una ventana de terminal) debe usar Ctrl+V
.
Y también puedes ir al revés. Puede resaltar texto en gedit
y golpea Ctrl+C
, luego péguelo en una ventana de terminal usando Ctrl+Shift+V
.
La combinación de teclas Ctrl+Insert
es lo mismo que Ctrl+Shift+C
, y la combinación Shift+Insert
es lo mismo que Ctrl+Shift+V
. La advertencia aquí es que estos solo se pueden usar en la misma ventana de terminal.
Uso del mouse: clic derecho
Puede usar el mouse para copiar y pegar en una ventana de terminal. Tienes que usar el mouse para resaltar el texto que vas a copiar, así que ¿por qué no usarlo para realizar las acciones de copiar y pegar?
Una vez que haya resaltado algún 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 de directorio. El usuario perdió el «~ /» desde el comienzo de la ruta. Escribieron «~ /», luego copiaron el resto del camino de su intento anterior y lo pegaron en su segunda línea de comando.
Cuando presionan Enter, se mueven 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.
Uso del mouse: botón central
Existe una forma aún más rápida de copiar y pegar con el mouse, siempre que su mouse tenga un botón central. Si presiona (¡suavemente!) La rueda de desplazamiento y hace clic, tiene un botón central.
Resalta un texto en una ventana de terminal y luego presiona el botón central. El texto resaltado se pega en la posición del cursor en la línea de comando. La copia y el pegado se realizan al mismo tiempo.
Entonces, resalte algo de texto:
Luego presione el botón central:
Puede utilizar este método para pegar entre diferentes ventanas de terminal, así como en aplicaciones de gráficos. Simplemente resalte el texto, cambie a la otra ventana o aplicación de terminal y presione el botón central.
Vieja escuela – Sin ratón
¿Qué pasa si no tienes un ratón? Si no puede resaltar ningún texto, ¿cómo puede copiarlo y pegarlo?
Los servidores Linux a menudo se configuran sin entorno de escritorio gráfico (GDE), lo que significa que no tiene 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
(ATS6). (Ctrl+Alt+F2
lo llevará de regreso a su sesión de GDE y Ctrl+Alt+F1
lo llevará a la pantalla de inicio de sesión de GDE).
Tal vez incluso use un dispositivo TTY de hardware real para conectarse a una computadora Linux o Unix.
De cualquier manera, estas técnicas funcionarán para usted. El punto a recordar aquí es que no se trata de copiar y pegar, sino de cortar, copiar y pegar, y solo 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 desde la que desea cortar, copiar y pegar.
Las pulsaciones de teclas que puede utilizar son:
- Ctrl + W: Corta la palabra antes del cursor y agrégala al búfer del portapapeles.
- Ctrl + K: Corta la parte de la línea después del cursor y agrégala al búfer del portapapeles. Si el cursor está al principio de la línea, cortará y copiará toda la línea.
- Ctrl + U: Corta la parte de la línea antes del cursor y agrégala al búfer del portapapeles. Si el cursor está al final de la línea, cortará y copiará toda la línea.
- Ctrl + Y: Pegue el último texto que se cortó y copió.
Pasemos a TTY3. (Use Ctrl + Alt + F1 para volver a su escritorio después).
Ctrl+Alt+F3
tty
Tenemos un archivo que queremos eliminar, asegurémonos de que esté aquí.
ls -l file_to_delete.txt
Si usamos la tecla de flecha hacia arriba, llamaremos al último comando que usamos fuera del historial de comandos. Podríamos editar esa línea, pero el objetivo es demostrar cómo cortar, copiar y pegar, así que vamos a lograr nuestra tarea de eliminar el archivo de una manera un poco extendida.
Moviremos el cursor a la primera letra del nombre del archivo, luego presionaremos Ctrl+K
. Esto eliminará esa parte de la línea y copiará el texto al búfer del portapapeles.
Vamos a presionar Retroceso hasta que borremos la fila.
Agarraremos el 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. No puede cortar, copiar y pegar entre TTY3 y TTY4, por ejemplo.
Los ATS adicionales se ven mejor como una fila de ATS físicos sentados uno al lado del otro. No hay forma de copiar y pegar entre diferentes terminales físicos, y no hay forma de hacerlo en estas emulaciones.
Copia eso, comprueba
No importa en qué situación se encuentre al usar una computadora con Linux, habrá una forma de copiar y pegar. Tienes opciones. Algunas de estas son opciones extrañas, pero al menos hay opciones.