# Bash Shortcuts

## Command Control Shortcuts

ShortcutDescription
Ctrl + lclear the screen
Ctrl + sstops the output to the screen (for long running verbose command)
Ctrl + qallow output to the screen (if previously stopped using command above)
Ctrl + cterminate the command
Ctrl + zsuspend/stop the command

## Command Recall Shortcuts

ShortcutDescription
Ctrl + rsearch the history backwards
Ctrl + gescape from history searching mode
Ctrl + pprevious command in history (i.e. walk back through the command history)
Ctrl + nnext command in history (i.e. walk forward through the command history)
Alt + .use the last word of the previous command

## Command Editing Shortcuts

ShortcutDescription
Ctrl + ago to the start of the command line
Ctrl + ego to the end of the command line
Ctrl + kdelete from cursor to the end of the command line
Ctrl + udelete from cursor to the start of the command line
Ctrl + wdelete from cursor to start of word (i.e. delete backwards one word)
Ctrl + ypaste word or text that was cut using one of the deletion shortcuts (such as the one above) after the cursor
Ctrl + xxmove between start of command line and current cursor position (and back again)
Alt + bmove backward one word (or go to start of word the cursor is currently on)
Alt + fmove forward one word (or go to end of word the cursor is currently on)
Alt + ddelete to end of word starting at cursor (whole word if cursor is at the beginning of word)
Alt + ccapitalize to end of word starting at cursor (whole word if cursor is at the beginning of word)
Alt + umake uppercase from cursor to end of word
Alt + lmake lowercase from cursor to end of word
Alt + tswap current word with previous
Ctrl + fmove forward one character
Ctrl + bmove backward one character
Ctrl + ddelete character under the cursor
Ctrl + hdelete character before the cursor
Ctrl + tswap character under cursor with the previous one

## Bash Bang (!) Commands

ShortcutDescription
!!run last command
!blahrun the most recent command that starts with ‘blah’ (e.g. !ls)
!blah:pprint out the command that !blah would run (also adds it as the latest command in the command history)
!$the last word of the previous command (same as Alt + .) !$:pprint out the word that !\$ would substitute
!*the previous command except for the last word (e.g. if you type ‘find some_file.txt /‘, then !* would give you ‘find some_file.txt‘)
!*:pprint out what !* would substitute