Respuestas:
ctrl+ Lsimplemente borra la pantalla del terminal.
Es el método abreviado de teclado equivalente al comando clear -x
. árbitro
Es propiedad de bash
, por lo que no lo encontró bajo métodos abreviados de teclado en su terminal gnome. De man bash
:
clear-screen (C-l)
Clear the screen leaving the current line at the top of the
screen. With an argument, refresh the current line without
clearing the screen.
Ver una lista detallada de los métodos abreviados de teclado del golpe .
clear
, ya que no borra el historial de terminal, mientras que el comando clear
hace, a menos que agregue el -x
argumento, así: clear -x
.
Si el shell que está utilizando no lo está interceptando, está escribiendo un carácter "Alimentación de formulario" en su terminal. Si la aplicación de terminal no intercepta o utiliza la combinación de teclas de alguna manera, Ctrl+ Letra se traduce al código ASCII de la letra menos 64 (1). 65 es el código ASCII de 'A', 'L' es la duodécima letra -> código 76. Si el shell no sabe qué hacer con el código, lo imprime.
La impresión de un FF char dio como resultado una nueva página en una impresora de línea y una pantalla clara en el terminal (sí, usé un VT-52 en ese entonces, a 300 baudios).
Entonces Ctrl+ Les 12, que es FF. Del mismo modo, Ctrl+ Ies una TAB y Ctrl+ Gtoca el timbre --- si el terminal o el shell no lo interceptan, como Ctrl+ Cpor ejemplo.
Aviso de la otra respuesta: parece que fiesta hacen de intercepción CTRL- Ly hacer un clear
. ¡ bash
Qué lindo toque que los autores asociaron la tecla con un comando que hará más o menos lo mismo que el código ASCII en terminales antiguas!
Por otro lado, en mi zsh
la combinación CTRL- Ifunciona como TABy CTRL- Hcomo a Backspace(2).
Viejo y agradable ASCII ... (observe que la letra L está en la columna 4, fila 12, tiene el código ASCII 4 * 16 + 12 = 76).
Imagen original aquí , del artículo de Wikipedia en ASCII .
(1) Ctrlrealmente se usa para borrar el bit 7.
(2) esta es la fuente de la broma de "no eliminar la palabra" que a veces encuentras como, por ejemplo, "esta fue una mala idea ^ H ^ H ^ Hnot so nice" ... (¡normalmente una palabra más fuerte que mala!)
^H
s o ^W
s literales es bueno cuando no puedes usar tachado. :)
Control-L
es interceptado e interpretado por bash (en realidad, por la readline
biblioteca , que maneja la edición interactiva en la línea de comando). Está vinculado a la clear-screen
función, como escribió @souravc.
Nota sobre el significado de Control-L
: Se define como Feed de formulario en la tabla de caracteres ASCII, pero esto no significa nada a menos que algún programa lo interprete en consecuencia. El terminal no borra la pantalla cuando ve un avance de formulario, como puede verificar guardando un ^ L en un archivo e imprimiéndolo con cat
. Cuando bash/readline
ve el ^L
, ejecuta la clear-screen
función. Esto envía una secuencia de caracteres que entiende su emulador de terminal (como se describe por termcap o terminfo), y tiene el efecto de borrar la pantalla.
En impresoras muy antiguas, a ^L
avanzaría el papel para comenzar a imprimir en la siguiente hoja, de ahí el nombre "alimentación de formulario". Pero los terminales modernos y los emuladores de terminales siguen un estándar ANSI más nuevo, en el que los comandos de control son "códigos de escape" de varios caracteres que comienzan con ^[
(escape). Cuando bash ve tu ^L
, probablemente esté enviando la secuencia de dos comandos ESC [ H ESC [ J
, que se mueve a la parte superior izquierda de la pantalla y borra todo lo que está debajo (de ahí toda la pantalla).
ESC [ ESC [ J
también borra el historial de comandos, mientras que la CTRL + L
secuencia no. La secuencia enviado a la terminal es más bien ESC [ H ESC [ 2 J
, adelante un intento usted mismo con este comando: printf "\033[H\033[2J"
.
Como todos ya explicaron bastante bien qué Ctrl+ Les y hace, pero nadie explicó cómo "revertir" el comando, aquí hay algunos comandos que puede escribir para volver a lo que estaba haciendo:
history
te dará los últimos 20 comandos que escribiste.
tail --lines=20 /var/log/dpkg.log
le dará las últimas 20 líneas de salida de cualquier instalación de paquete que estaba realizando