Bash shell keybindings cheat sheet
design based on vim cheat sheet: http://viemu.com original idea from http://linuxhelp.blogspot.com by Carlos Fenollosa - http://weblog.topopardo.com
~ `
Complete username
Complete command
When pressed alone, completes anything (commands, files...)
! @ # $ % ^ & * ( ) { QWE R T Y U I O P [ : " A S D F G H J K L ; ' < > ? Z X C V B NM, . /
Set mark at current char
Complete hostname
Insert a comment symbol (#)
Complete variable
Insert all completions
Start recording a macro
End recording a macro
_ -
Undo
+ =
Delete word backward from cursor
Restore freezed terminal
Delete word backward from cursor
Jump to EOL Paste the recorded macro
Search pattern in previous history Undo all changes to this line
Swap current char with previous char
Paste content of the kill ring
Delete from BOL to cursor
Accept this line and paste previous line
Previous command in history
Complete filenames in braces
Swap current word with previous word
Rotate kill ring + paste new top element
Uppercase word, starting at cursor
Same as C-R but nonincremental
} ]
Type char, search for it
Jump to BOL
Freeze terminal
Delete char under cursor / Exit (if empty) Delete word forward from cursor
Move forward a char
Abort current line and ring bell Complete filename
Backspace
Delete from cursor to EOL
Clear/redraw terminal
Move forward a word
Lowercase word, starting at cursor
| \
Delete blanks on cursor
Send process to background
(Double X) Swap cursor mark cur
Terminate command
Insert next char verbatim (i.e. TAB)
Move back a char
Next command in history
First command in history
Last command in history
Show completion list
Capitalize word, starting at cursor
Move back a word
Search pattern in forward history
Paste last arg of prev command
Complete filename
SPACE BAR
Set mark at current char
Color key
Did you know...?
TAB key best auto-completes in almost every case. You can safely ignore other completion keys. If running a program, Ctrl-c sends a SIGTERM, Ctrl-z sends the process to background and the command 'fg' brings it foreground again. Ctrl-x Ctrl-e opens the default $EDITOR and runs the edited command.
Key Key AltCtrl-xkey key
Note: Divided keys that have no utility are coloured gray. If they are useful with only one modifier, then they are coloured just once for that modifier
Controlkey
Key
To run a program directly into background, apend a & after the program name, like $ ping www.google.com & To kill processes by their name, use 'killall name' The Up and Down cursor keys let you browse through history Ctrl-PageUp and CtrlPageDown let you scroll the terminal, even remote or graphical ones.
If running from a remote terminal, background processes will be killed when you logout. To avoid this, use nohup and & like $ nohup wget foo.com & Remember to escape filenames or use quotes (") if there are spaces or special characters: $ ls -l "some document $ rm make\$\$\$fast.txt And finally, remember that GUIs are cool, but the terminal can save you a lot of time!
Change to VI keybindings $ set -o vi Back to Emacs (default) $ set -o emacs