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.