Sé que esto ya fue respondido, pero la respuesta no explica lo que está sucediendo.
Caracteres como Ctrl+ Lson manejados por la aplicación . En el caso de ingresar la entrada en el shell, como bash, borra la pantalla. Algunas aplicaciones, como emacs, lo usan para volver a dibujar la pantalla y / o volver a centrar el cursor.
Los caracteres como Ctrl+ Uen la solicitud de contraseña son manejados por la disciplina de línea TTY . Funcionarán cada vez que el terminal de entrada esté en el modo de edición de línea "canónico", que es el modo en que se encuentran sus programas mientras ingresa una contraseña. En este modo, es el núcleo de Linux mismo el que interpreta estos caracteres. Puede ver qué funciones se asignan a qué teclas en la salida de stty -a:
speed 38400 baud; rows 45; columns 128; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S;
susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
Aquí, puede ver que Ctrl+ Uestá vinculado a kill, que (de acuerdo con la página de manual stty ) "borrará la línea actual". También puede usar sttypara cambiar esta asignación:
stty kill ^E # make ctrl-e erase the line
Esta página tiene mucha información excelente sobre la capa TTY si está interesado.
Si las cosas no eran lo suficientemente confusas: cuando se le solicita un mensaje interactivo bash, en realidad no está en el modo de edición de líneas "canónico". En cambio, bashrecibe cada carácter directamente mientras lo escribe e interpreta las secuencias de control en sí, a través de la biblioteca readline . Esta biblioteca será cumplir las asignaciones que se ha fijado en su dispositivo terminal, sin embargo, por lo que aún se puede utilizar sttypara cambiarlos. O bien, puede personalizarlos de forma independiente dentro de bashotros programas basados en readline configurando la unix-line-discardpropiedad dentro de su ~/.inputrcarchivo. Consulte la página de manual de bash para obtener más información.
Cuando ejecuta un programa, bashvuelve a habilitar el modo de edición de línea canónica ( stty icanon) si estaba habilitado antes, y luego lo deshabilita nuevamente cuando finaliza el programa ( stty -icanon).