views:

23

answers:

2

Say I am in a bash terminal and have a large history of commands. I pressed the up arrow a whole bunch of times and am in the "middle" of the history. I want to now navigate to the first or the last command in my history quickly (without holding down the up or the down arrow for a long time). Is this possible? If so, what is the shortcut key to achieving this?

Thanks!

+1  A: 

Depending on how things are set up for your terminal, you can usually do a control-c to break you back to the beginning (no comment) and then go up once or twice to get to the recent command you want.

Alternatively, using the history command will list all the recent commands used with index values associated with them. !# where # is the index number will rerun that command. There's a nice usefulness of the command history | grep [command] to try and find a specific command in your history.

Shynthriir
ctrl-r allows you to reverse-search your history.
adymitruk
+3  A: 

Take a look in

man bash

Here I copied for you the thing you were looking for:

previous-history (C-p)
   Fetch the previous command from the history list, moving back in the list.
  next-history (C-n)
   Fetch the next command from the history list, moving forward in the list.
  beginning-of-history (M-<)
   Move to the first line in the history.
  end-of-history (M->)
   Move to the end of the input history, i.e., the line currently being entered.
kogut
Note that when META key does not work, you can use Escape and then < or >.
Benoit