Keyboard shortcut Action

Navigation

Ctrl-A Go to the beginning of the line (note that if you use GNU screen, you can use the Home button to do this, especially considering that Ctrl-A is a special control character in screen).

Ctrl-E Go to the end of the line (note that if you use GNU screen, you can use the End button to do this).

Alt-B (or ESC, left arrow) Jump back one word using a non-alphanumeric character as delimiter.

Alt-F (or ESC, right arrow) Jump forward one word using a non-alphanumeric character as delimiter.

Ctrl-PGUP or Shift-PGUP This may or may not work, and it works differently on different console apps. It will either scroll up one line at a time, 1 page at a time, or it may not work at all. I'm inclined to think it's not a bash shortcut at all.

Ctrl-PGDN or Shift-PGDN Same as the above but scrolling is done in the opposite direction.

Up/Down Previous/Next command in history. This one is way too obvious but I'm including it for completeness.

Ctrl-R History search. For example, Ctrl-R svn Ctrl-R Ctrl-R … will cycle through all recently run commands with the ‘svn’ in them. It is one of the most useful shortcuts in bash.

Ctrl-O Takes whatever line was after the line you selected with Ctrl-R and makes it your next command.

Command Line Manipulation

Ctrl-W Cut one word backwards using white space as delimiter.

Alt-BACKSPACE Cut one word backwards using a non-alphanumeric character as delimiter (different from Ctrl-W, for example, abc;bcd will cut to abc;).

Ctrl-K Cut everything forward to end of line.

Ctrl-U Cut everything backwards to beginning of line.

Ctrl-T Transpose the current character with the previous one. I almost never use this. Never mind, I never use it, but someone might find it useful.

Alt-T Transpose the word at cursor with the one before cursor. In other words, swap them around.

Ctrl-Y Paste whatever was cut by the last cut command.

Ctrl-V Insert the next character literally. For example, Ctrl-V TAB inserts the actual TAB character. This shortcut is often misunderstood because of mistyping Ctrl-V and not realizing what it does.

Ctrl-_ Undo the last command. Don’t forget – it’s Ctrl-Shift-MINUS, not Ctrl-MINUS.

Alt-R Revert all changes to current line. Very useful if you accidentally modify a command in history.

Alt-U/Alt-L/Alt-C Uppercase/lowercase/capitalize from cursor to end of word and move cursor past end of word.

Terminal control

Ctrl-L Clear screen while keeping whatever is already typed in the command line intact.

Ctrl-S Suspend currently running terminal.

Ctrl-Q Unsuspend the terminal suspended by Ctrl-S. You need to be aware of this shortcut because 99% of the time you’ve accidentally pressed Ctrl-S and need to undo its effects.

Ctrl-Z Suspend the currently running process (usually followed by bg to resume it in the background or fg to resume in the foreground).