ctrl + r in linux / ubuntu terminal command line

17

11

With CTRL + R you can search in previous commands (in the terminal of Ubuntu). However, it always seems to display the last occurrence of the search term. Is there any way to browse through all results?

hsmit

Posted 2011-03-19T18:45:50.853

Reputation: 395

Answers

34

After you type the few characters to search, you can press CTRL+R again to browse through the history that matches what you typed.

It will be limited to the history size though.

Matthieu

Posted 2011-03-19T18:45:50.853

Reputation: 478

AWESOME! that's exactly what I was looking for! – alfasin – 2012-10-22T00:52:28.543

1For controlling history size, one can note that HISTFILESIZE controls the size of the history file (~/.bash_history), but HISTSIZE controls the size of the specific terminal history, and it is the latter that decides how far back Ctrl+R can look. I noted this on a machine where I had enlarged the former variable, but not the latter. Both are originally set to 500, but if one wants more reverse searchable history saved, both variables need to be updated. – Daniel Andersson – 2013-10-27T20:34:10.937

9

You just need to press CTRL-R again.

Jacob

Posted 2011-03-19T18:45:50.853

Reputation:

2

If you just want to see all matching history lines at once, try fc -ln | grep.

mress:10077 Z$ fc -ln -100 | grep \^cd 
cd /Volumes/Development/android-sdk-mac_x86
cd ~/Downloads/MagicTrackpad.pkg
cd Resources
cd English.lproj
cd ../..
cd MagicTrackpadMultiTouchUpdate1.0.pkg
cd ..
cd 

(-100 means "the last 100 commands"; the default is 20, or you can specify a range.)

geekosaur

Posted 2011-03-19T18:45:50.853

Reputation: 10 195

1

For step on the search you have to CTRL+R again.

But if you want a list of the command you could use

history | grep 'command to search'

eveevans

Posted 2011-03-19T18:45:50.853

Reputation: 111