GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué Ctrl-L no borra la pantalla en Bash? ¿Cómo vincular claves en Linux?

He estado usando Ctrl-L para borrar la pantalla en BASH, pero por alguna razón dejó de funcionar. Ahora, cuando presiono Ctrl-L , se crea una nueva línea en lugar de borrar la pantalla. Puede que el problema se deba a mi reciente actualización de BASH (de la versión 3.1 a la versión 4.3, para corregir la vulnerabilidad de Shellshock ). Pero sabes qué, me resulta muy difícil trabajar en un shell torpe, así que necesito volver a Ctrl-L para borrar la pantalla. Busqué en Google y encontré la siguiente solución.

Ctrl-L debe vincularse para borrar la pantalla y se puede lograr usando 'bind ‘comando en Linux. Compruebe si Ctrl-L está obligado a borrar la pantalla usando el siguiente comando.

$ bind -P

El comando anterior mostrará todas las teclas que enlazan con varias funcionalidades. El resultado de muestra es el siguiente:

abort can be found on "\C-g", "\C-x\C-g", "\e\C-g".
accept-line can be found on "\C-j", "\C-m".
alias-expand-line is not bound to any keys
arrow-key-prefix is not bound to any keys
backward-byte is not bound to any keys
backward-char can be found on "\C-b", "\eOD", "\e[D".
backward-delete-char can be found on "\C-h", "\C-?".
backward-kill-line can be found on "\C-x\C-?".
backward-kill-word can be found on "\e\C-h", "\e\C-?".
backward-word can be found on "\e[1;5D", "\e[5D", "\eb".
beginning-of-history can be found on "\e<", "\e[5~".
beginning-of-line can be found on "\C-a", "\eOH", "\e[1~", "\e[H".
call-last-kbd-macro can be found on "\C-xe".
capitalize-word can be found on "\ec".
character-search can be found on "\C-]".
character-search-backward can be found on "\e\C-]".
clear-screen can be found on "\C-l".
complete can be found on "\C-i", "\e\e".
complete-command can be found on "\e!".
complete-filename can be found on "\e/".
complete-hostname can be found on "\e@".
complete-into-braces can be found on "\e{".
complete-username can be found on "\e~".
complete-variable can be found on "\e$".
copy-backward-word is not bound to any keys
copy-forward-word is not bound to any keys
copy-region-as-kill is not bound to any keys
dabbrev-expand is not bound to any keys
delete-char can be found on "\C-d", "\e[3~".
delete-char-or-list is not bound to any keys
delete-horizontal-space can be found on "\e\\".
digit-argument can be found on "\e-", "\e0", "\e1", "\e2", "\e3", ...
display-shell-version can be found on "\C-x\C-v".
do-lowercase-version can be found on "\C-xA", "\C-xB", "\C-xC", "\C-xD", "\C-xE", ..
downcase-word can be found on "\el".
dump-functions is not bound to any keys
dump-macros is not bound to any keys
dump-variables is not bound to any keys
dynamic-complete-history can be found on "\e\C-i".
edit-and-execute-command can be found on "\C-x\C-e".
emacs-editing-mode is not bound to any keys
end-kbd-macro can be found on "\C-x)".
end-of-history can be found on "\e>", "\e[6~".
end-of-line can be found on "\C-e", "\eOF", "\e[4~", "\e[8~", "\e[F".
exchange-point-and-mark can be found on "\C-x\C-x".
forward-backward-delete-char is not bound to any keys
forward-byte is not bound to any keys
forward-char can be found on "\C-f", "\eOC", "\e[C".
forward-search-history can be found on "\C-s".
forward-word can be found on "\e[1;5C", "\e[5C", "\ef".
glob-complete-word can be found on "\eg".
glob-expand-word can be found on "\C-x*".
glob-list-expansions can be found on "\C-xg".
history-and-alias-expand-line is not bound to any keys
history-expand-line can be found on "\e^".
history-search-backward is not bound to any keys
history-search-forward is not bound to any keys
history-substring-search-backward is not bound to any keys
history-substring-search-forward is not bound to any keys
insert-comment can be found on "\e#".
insert-completions can be found on "\e*".
insert-last-argument can be found on "\e.", "\e_".
kill-line can be found on "\C-k".
kill-region is not bound to any keys
kill-whole-line is not bound to any keys
kill-word can be found on "\ed".
magic-space is not bound to any keys
menu-complete is not bound to any keys
menu-complete-backward is not bound to any keys
next-history can be found on "\C-n", "\eOB", "\e[B".
non-incremental-forward-search-history can be found on "\en".
non-incremental-forward-search-history-again is not bound to any keys
non-incremental-reverse-search-history can be found on "\ep".
non-incremental-reverse-search-history-again is not bound to any keys
old-menu-complete is not bound to any keys
operate-and-get-next can be found on "\C-o".
overwrite-mode is not bound to any keys
possible-command-completions can be found on "\C-x!".
possible-completions can be found on "\e=", "\e?".
possible-filename-completions can be found on "\C-x/".
possible-hostname-completions can be found on "\C-x@".
possible-username-completions can be found on "\C-x~".
possible-variable-completions can be found on "\C-x$".
previous-history can be found on "\C-p", "\eOA", "\e[A".
print-last-kbd-macro is not bound to any keys
quoted-insert can be found on "\C-q", "\C-v", "\e[2~".
redraw-current-line is not bound to any keys
re-read-init-file can be found on "\C-x\C-r".
reverse-search-history can be found on "\C-r".
revert-line can be found on "\e\C-r", "\er".
self-insert can be found on " ", "!", "\"", "#", "$", ...
set-mark can be found on "\C-@", "\e ".
shell-backward-kill-word is not bound to any keys
shell-backward-word is not bound to any keys
shell-expand-line can be found on "\e\C-e".
shell-forward-word is not bound to any keys
shell-kill-word is not bound to any keys
skip-csi-sequence is not bound to any keys
start-kbd-macro can be found on "\C-x(".
tab-insert is not bound to any keys
tilde-expand can be found on "\e&".
transpose-chars can be found on "\C-t".
transpose-words can be found on "\et".
tty-status is not bound to any keys
undo can be found on "\C-x\C-u", "\C-_".
universal-argument is not bound to any keys
unix-filename-rubout is not bound to any keys
unix-line-discard can be found on "\C-u".
unix-word-rubout can be found on "\C-w".
upcase-word can be found on "\eu".
vi-append-eol is not bound to any keys
vi-append-mode is not bound to any keys
vi-arg-digit is not bound to any keys
vi-back-to-indent is not bound to any keys
vi-backward-bigword is not bound to any keys
vi-backward-word is not bound to any keys
vi-bword is not bound to any keys
vi-bWord is not bound to any keys
vi-change-case is not bound to any keys
vi-change-char is not bound to any keys
vi-change-to is not bound to any keys
vi-char-search is not bound to any keys
vi-column is not bound to any keys
vi-complete is not bound to any keys
vi-delete is not bound to any keys
vi-delete-to is not bound to any keys
vi-editing-mode is not bound to any keys
vi-end-bigword is not bound to any keys
vi-end-word is not bound to any keys
vi-eof-maybe is not bound to any keys
vi-eword is not bound to any keys
vi-eWord is not bound to any keys
vi-fetch-history is not bound to any keys
vi-first-print is not bound to any keys
vi-forward-bigword is not bound to any keys
vi-forward-word is not bound to any keys
vi-fword is not bound to any keys
vi-fWord is not bound to any keys
vi-goto-mark is not bound to any keys
vi-insert-beg is not bound to any keys
vi-insertion-mode is not bound to any keys
vi-match is not bound to any keys
vi-movement-mode is not bound to any keys
vi-next-word is not bound to any keys
vi-overstrike is not bound to any keys
vi-overstrike-delete is not bound to any keys
vi-prev-word is not bound to any keys
vi-put is not bound to any keys
vi-redo is not bound to any keys
vi-replace is not bound to any keys
vi-rubout is not bound to any keys
vi-search is not bound to any keys
vi-search-again is not bound to any keys
vi-set-mark is not bound to any keys
vi-subst is not bound to any keys
vi-tilde-expand is not bound to any keys
vi-yank-arg is not bound to any keys
vi-yank-to is not bound to any keys
yank can be found on "\C-y".
yank-last-arg can be found on "\e.", "\e_".
yank-nth-arg can be found on "\e\C-y".
yank-pop can be found on "\ey".

Bueno, nuestro objetivo es verificar la clave enlazada para ver la pantalla clara, ¿no es así? Así que solo grep la salida de “bind -p

$ bind -P | grep clear
 clear-screen is not bound to any keys

El resultado anterior dice claramente que no hay teclas vinculadas para borrar la pantalla. Así que vamos a crear uno usando el siguiente comando.

$ bind -x '"\C-l": clear;'

Nota: Busque la sintaxis. Tenemos comillas dobles “\C-l “ y comillas simples ‘“\C-l”:claro;

Después de ejecutar el comando anterior, presione Ctrl-L para ver la pantalla en blanco.

Claves vinculadas globalmente

Espera, acabas de ejecutar el comando de vinculación en el shell y permanece vivo hasta que salgas. Para que esté disponible para cada nueva sesión, debe agregar una línea en /etc/inputrc

$ vi /etc/inputrc

Agregue la siguiente línea al final del archivo.

"\C-l": clear-screen

Eso es todo. Ahora presionando Ctrl-L borrará la pantalla y funcionará para cada nueva sesión.

¿Qué pasa si quieres Ctrl-L para hacer algo más que limpiar? Di archivos de lista.

bind -x '"\C-l": clear; ls'

Después de ejecutar el comando anterior, presione Ctrl-L borrará la pantalla y listará los archivos en el directorio actual.

Pago 'man bind ‘ para más información.


Linux
  1. ¿Cómo verificar la fecha de instalación de su sistema operativo Linux?

  2. Cómo usar el comando "pantalla" en Linux

  3. ¿Por qué pr_debug del kernel de Linux no da ningún resultado?

  4. ¿Por qué Bash está en todas partes (en la mayoría, si no en todas, las distribuciones de Linux)?

  5. ¿Cómo sé que estoy corriendo dentro de una pantalla de Linux o no?

Cómo compartir la pantalla con Linux KDE Plasma Desktop

Cómo cambiar la pantalla de inicio de Linux

Cómo bloquear el teclado y el mouse, pero no la pantalla en Linux

Cómo verificar si está en sesión de pantalla o no en Linux

Cómo corregir el error "Comando Yum no encontrado" en Linux [Actualización 2022]

Solución de problemas del error "Bash:Comando no encontrado" en Linux