Some Bash key shortcuts

Bash Shortcuts

The Bash key combos are also used in Emacs.

Note that the Ctrl-KEY combo operate on basic units that are independepent of what you are editing (characters, lines etc). Meta chracters (Alt-KEY combos) are used for operations related to the units defined by language (words, sentences, paragraphs).

In the Following illustration, C-Key stands for Ctrl-Key, M-Key stands for Alt-Key

C-f Forward one char

C-b Back one char

 

M-f Forward one word

M-b Back one word

 

C-p Previous line

C-n Next line

 

M-p Beginning of sentence

M-n End of sentence

 

C-a Beginning of line

C-e End of line

 

Bash, which is the default shell in Linux contains a whole lot of key bindings which makes it really easy to use . The most commonly used shortcuts are listed below : 

CTRL Key Bound

Ctrl + a – Jump to the start of the line

Ctrl + b – Move back a char

Ctrl + c – Terminate the command

Ctrl + d – Delete from under the cursor

Ctrl + e – Jump to the end of the line

Ctrl + f – Move forward a char

Ctrl + k – Delete to EOL

Ctrl + l – Clear the screen

Ctrl + r – Search the history backwards

Ctrl + R – Search the history backwards with multi occurrence

Ctrl + u – Delete backward from cursor

Ctrl + xx – Move between EOL and current cursor position

Ctrl + x @ – Show possible hostname completions

Ctrl + z – Suspend/ Stop the command

ALT Key Bound

Alt + < – Move to the first line in the history

Alt + > – Move to the last line in the history

Alt + ? – Show current completion list

Alt + * – Insert all possible completions

Alt + / – Attempt to complete filename

Alt + . – Yank last argument to previous command

Alt + b – Move backward

Alt + c – Capitalize the word

Alt + d – Delete word

Alt + f – Move forward

Alt + l – Make word lowercase

Alt + n – Search the history forwards non-incremental

Alt + p – Search the history backwards non-incremental

Alt + r – Recall command

Alt + t – Move words around

Alt + u – Make word uppercase

Alt + backspace – Delete backward from cursor

More Special Key bindings

Here 2T means Press TAB twice. And $ is the bash prompt.

$ 2T – Display all available commands(common)

string 2T – Display all available commands starting with string.

$ /2T – Show entire directory structure including hidden ones.

$ 2T – Show only sub-directories inside including hidden ones.

$ *2T – Show only sub-directories inside excluding hidden ones.

$ ~2T – Show all present users on system from “/etc/passwd”

$ $2T – Show all sys variables

$ @2T – Show all entries from “/etc/hosts”

$ =2T – List output like ls or dir


You are reading this post on Joel G Mathew’s tech blog. Joel's personal blog is the Eyrie, hosted here.

Bash command line default shortcut keys

These can be inspected with:

bind -P | grep 'can be found'[/code]

Enter or Ctrl+J or Ctrl-M

Backspace or Ctrl-H

Delete previous word: Esc+Ctrl-H

Delete word forward: Esc+d

Undo Last action: Ctrl-?

 

My current setup:
abort can be found on "C-g", "C-xC-g", "eC-g".
accept-line can be found on "C-j", "C-m".
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-xC-?".
backward-kill-word can be found on "eC-h", "eC-?".
backward-word can be found on "ee[D", "e[1;5D", "e[5D", "eb".
beginning-of-history can be found on "e end-of-line can be found on "C-e", "eOF", "e[4~", "e[F".
exchange-point-and-mark can be found on "C-xC-x".
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 "ee[C", "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-expand-line can be found on "e^".
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-word can be found on "ed".
next-history can be found on "C-n", "eOB", "e[B".
non-incremental-forward-search-history can be found on "en".
non-incremental-reverse-search-history can be found on "ep".
operate-and-get-next can be found on "C-o".
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".
quoted-insert can be found on "C-q", "C-v", "e[2~".
re-read-init-file can be found on "C-xC-r".
reverse-search-history can be found on "C-r".
revert-line can be found on "eC-r", "er".
self-insert can be found on " ", "!", """, "#", "$", ...
set-mark can be found on "C-@", "e ".
shell-expand-line can be found on "eC-e".
start-kbd-macro can be found on "C-x(".
tilde-expand can be found on "e&".
transpose-chars can be found on "C-t".
transpose-words can be found on "et".
undo can be found on "C-xC-u", "C-_".
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".
yank can be found on "C-y".
yank-last-arg can be found on "e.", "e_".
yank-nth-arg can be found on "eC-y".
yank-pop can be found on "ey".


You are reading this post on Joel G Mathew’s tech blog. Joel's personal blog is the Eyrie, hosted here.