The Command-Line Editor

Before looking at the command-line instructions, I’d like to explore the various ways you can enter and edit text on the command line, because numerous options are available to make your life a lot easier.

For example, once you have entered one or more commands, you can scroll back and forth through the command history to reselect or edit previous commands by using the Up and Down cursor keys, or Ctrl-N for Next and Ctrl-P for Previous, as you can see from Table 7-1.

Table 7-1. Bash keyboard shortcuts

Shortcut

Equivalent to

Action

Ctrl-A

Home

Move the cursor to the start of the line.

Ctrl-E

End

Move the cursor to the end of the line.

Ctrl-D

Delete

Delete the character under the cursor. On a blank line, Ctrl-D (but not Delete) will cause the Terminal window to close.

Ctrl-H

Backspace

Delete the character to the left of the cursor.

Ctrl-J

Enter

Enter the current line.

Ctrl-B

Left arrow

Move the cursor back a character.

Ctrl-F

Right arrow

Move the cursor forward a character.

Ctrl-P

Up arrow

Recall the previous command (if any). See also Ctrl-N.

Ctrl-N

Down arrow

Recall the next command (if any). Using this and Ctrl-P, you can scroll back and forth through all the commands entered in a session.

Alt-B

Ctrl-left arrow

Move the cursor to the previous start of a word.

Shift-Alt-F

Ctrl-right arrow

Move the cursor to the first character following the end of the current word.

Shift-Ctrl-C

 

Copy the highlighted contents to the Ubuntu (not the Bash) clipboard.

Shift-Ctrl-V

 

Paste the contents of the Ubuntu (not the Bash) clipboard to the current cursor position.

Ctrl-C

 

Abort the current task or input.

Ctrl-K

 

Remove all the text from the current cursor position to the end of the line, saving it to the clipboard.

Ctrl-L

 

Clear the screen. Equivalent to the clear command, but keeps the contents of the current line.

Ctrl-U

 

Remove all the text before the cursor position, saving it to the Bash (not the Ubuntu) clipboard.

Ctrl-W

 

Remove the word before the cursor position to the Bash (not the Ubuntu) clipboard.

Ctrl-Y

 

Insert the Bash (not the Ubuntu) clipboard contents at the cursor position.

Ctrl-Z

 

If a program is currently running, this will suspend it and display a number and the word Stopped. To bring it back to the foreground again, you type fg followed by the number that was given.

Alt-C

 

Capitalize the character under the cursor, and then move the cursor to the character following the end of the current word.

Alt-D

 

Remove the word starting at the cursor position up to the first nonword character.

Alt-L

 

Lower the case of the character under the cursor and all those up to the end of the current word.

Alt-R

 

Cancel all changes made to a line and return it to its position in the history of commands.

Alt-Backspace

 

Delete the word immediately to the left of the cursor position.

Many of the Ctrl key shortcuts are holdovers from the days when keyboards didn’t come with cursor keys, so unless you’re also missing these keys, you can ignore them and use the equivalent arrow key and keypad shortcuts.

You may wish to try out the command line by entering some nonsense text, ensuring you start it with a # character to tell Ubuntu to ignore everything you type. You could even practice entering commands and scrolling back and forth through the history. A couple of minutes spent getting the hang of these shortcuts will make it much easier for you to work through the rest of this chapter.

A particular point to note while practicing is that Bash keeps its own clipboard, which you use with Ctrl-U, Ctrl-W, and Ctrl-Y. To paste from the Ubuntu clipboard into Bash, you use Shift-Ctrl-V or Edit Paste, and to copy to the Ubuntu clipboard from Bash, you should highlight some text and either press Shift-Ctrl-C or select Edit Copy.