GNU/Linux >> Belajar Linux >  >> Linux

Mengapa Ctrl-L Tidak Membersihkan Layar di Bash? Bagaimana Cara Mengikat Kunci di Linux?

Saya telah menggunakan Ctrl-L untuk menghapus layar di BASH, tetapi untuk beberapa alasan itu berhenti berfungsi. Sekarang ketika saya menekan Ctrl-L , baris baru dibuat alih-alih membersihkan layar. Mungkin masalahnya adalah karena pembaruan BASH terbaru saya (dari versi 3.1 ke versi 4.3, untuk memperbaiki kerentanan Shellshock ). Tapi tahukah Anda, saya merasa sangat sulit untuk bekerja di shell yang canggung, jadi saya harus kembali Ctrl-L untuk membersihkan layar. Saya baru saja mencari di Google dan menemukan solusi di bawah ini.

Ctrl-L harus terikat untuk menghapus layar dan itu dapat dicapai dengan menggunakan 'bind ' perintah di Linux. Periksa apakah Ctrl-L terikat untuk menghapus layar menggunakan perintah di bawah ini.

$ bind -P

Perintah di atas akan menampilkan semua kunci yang terikat dengan berbagai fungsi. Contoh output di bawah ini:

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

Nah, tujuan kami adalah untuk memeriksa kunci terikat untuk layar yang jelas bukan? Jadi ambil saja output dari “bind -p

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

Output di atas dengan jelas mengatakan bahwa tidak ada tombol yang terikat untuk menghapus layar. Jadi mari kita buat satu menggunakan perintah di bawah ini.

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

Catatan: Perhatikan sintaksnya. Kami telah mengutip dua kali “\C-l “ dan kutipan tunggal ‘“\C-l”:clear;

Setelah menjalankan perintah di atas, tekan Ctrl-L untuk melihat layar kosong.

Kunci terikat secara global

Tunggu, Anda baru saja menjalankan perintah bind di shell dan tetap hidup sampai Anda keluar. Agar tersedia untuk setiap sesi baru, Anda perlu menambahkan baris di /etc/inputrc

$ vi /etc/inputrc

Tambahkan baris di bawah ini di akhir file.

"\C-l": clear-screen

Itu dia. Sekarang tekan Ctrl-L akan menghapus layar dan akan berfungsi untuk setiap sesi baru.

Bagaimana jika Anda ingin Ctrl-L untuk melakukan lebih dari sekedar jelas? Ucapkan daftar file.

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

Setelah perintah di atas dijalankan, tekan Ctrl-L akan menghapus layar dan mencantumkan file di direktori saat ini.

Lihat ‘man mengikat ' untuk informasi lebih lanjut.


Linux
  1. Cara Memperbaiki Kesalahan Rust "linker 'cc' tidak ditemukan" Di Linux

  2. Bagaimana cara memeriksa tanggal instalasi sistem operasi linux Anda?

  3. Cara menggunakan perintah "layar" di Linux

  1. Bagaimana Linux datang ke mainframe

  2. Mengapa pr_debug dari kernel Linux tidak memberikan hasil apa pun?

  3. Mengapa Bash ada di mana-mana (di sebagian besar jika tidak semua distribusi Linux)?

  1. Cara memperbaiki kesalahan Perintah tidak ditemukan di Linux

  2. Bagaimana BASH Shell memuat file konfigurasinya di Linux

  3. Cara Memperbaiki Perintah Ifconfig tidak ditemukan di Linux Ubuntu