GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi Ctrl-L n'efface pas l'écran dans Bash ? Comment lier les clés sous Linux ?

J'utilise Ctrl-L pour effacer l'écran dans BASH, mais pour une raison quelconque, il a cessé de fonctionner. Maintenant, quand j'appuie sur Ctrl-L , une nouvelle ligne est créée au lieu d'effacer l'écran. Le problème est peut-être dû à ma récente mise à jour de BASH (de la version 3.1 à la version 4.3, pour corriger la vulnérabilité Shellshock ). Mais vous savez quoi, je trouve vraiment difficile de travailler dans un shell maladroit, donc je dois récupérer Ctrl-L pour effacer l'écran. Je viens de chercher sur Google et j'ai trouvé la solution ci-dessous.

Ctrl-L devrait être lié pour effacer l'écran et cela peut être réalisé en utilisant 'lier ' commande sous Linux. Vérifiez si Ctrl-L est tenu d'effacer l'écran à l'aide de la commande ci-dessous.

$ bind -P

La commande ci-dessus affichera toutes les clés liées à diverses fonctionnalités. L'exemple de sortie est ci-dessous :

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".

Eh bien, notre objectif est de vérifier la clé liée pour un écran clair, n'est-ce pas ? Il suffit donc de grep la sortie de "bind -p

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

La sortie ci-dessus indique clairement qu'il n'y a pas de touches destinées à effacer l'écran. Alors créons-en un en utilisant la commande ci-dessous.

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

Remarque : Attention à la syntaxe. Nous avons mis entre guillemets "\C-l " et guillemet simple ‘"\C-l" :clair ;

Après avoir exécuté la commande ci-dessus, appuyez sur Ctrl-L pour voir l'écran vide.

Clés liées globalement

Attendez, vous venez d'exécuter la commande bind dans le shell et elle reste active jusqu'à ce que vous quittiez. Pour le rendre disponible pour chaque nouvelle session, vous devez ajouter une ligne dans /etc/inputrc

$ vi /etc/inputrc

Ajoutez la ligne ci-dessous à la fin du fichier.

"\C-l": clear-screen

C'est ça. Appuyez maintenant sur Ctrl-L effacera l'écran et cela fonctionnera pour chaque nouvelle session.

Et si vous voulez Ctrl-L faire plus que simplement effacer? Dites lister les fichiers.

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

Une fois la commande ci-dessus exécutée, appuyez sur Ctrl-L effacera l'écran et listera les fichiers du répertoire courant.

Commander ‘liaison homme ' pour plus d'informations.


Linux
  1. Comment vérifier la date d'installation de votre système d'exploitation Linux ?

  2. Comment le shell BASH charge ses fichiers de configuration sous Linux

  3. Erreur Linux :bash :rsync :commande introuvable

  4. Pourquoi pr_debug du noyau Linux ne donne-t-il aucune sortie ?

  5. Comment afficher le chemin actuel dans l'invite de commande dans le sh (pas bash) de Linux ?

Comment partager l'écran avec Linux KDE Plasma Desktop

Comment changer l'écran Linux Boot Splash

Comment verrouiller le clavier et la souris, mais pas l'écran sous Linux

Comment vérifier si vous êtes en session d'écran ou pas sous Linux

Comment corriger l'erreur "Yum command not found" sous Linux [Mise à jour 2022]

Dépannage de l'erreur "Bash :Commande introuvable" sous Linux