Ctrl+R
Then type any part of the command (filename, search string, etc)
Ctrl+R again to cycle through the matches.
(Best feature in bash)
Use fzf for a more visual search.
This is the way.
I’ve been using this for a long time, never knew I could press Ctrl + R again. Thanks!
Ctrl + S to go the other way if you overshoot!
Or
history | grep 'command'
Can’t just hit enter to run the one you want then, though.
Type: !1234 … to run whatever history number of the command.
Wish I knew this sooner.
But how to go backwards and forwards through the results? I just cycle through again!!
As @wandering_nomad@lemmy.world said above, Ctrl+S
control shift R, then start typing, it will search your bash history
Hmm, normally it’s just ctrl - r… Are you sure the shift is needed on your system?
Don’t forget fzf. That will really jazz up your history search!
No man entry for fzf
https://github.com/junegunn/fzf
I recommend installing it as an oh-my-zsh plugin, but it’s not hard to get running in vanilla zsh/bash
Ok if you want to learn Linux, you need to start web searching for stuff you hear about. :)
you are right, I must have just learned it with a shift for some dumb reason and it stuck, thank you internet person.
Some variants have ctrl+r bound to something else
Is it not just Ctrl-R or is that platform dependent
I have always used ctrl-r but I just checked and both work. TIL.
Thanks for clearing up this mystery.
I recommend using mcfly for that, it makes it even better.
Now if you had to guess how often I remember that there is a keyboard shortcut that does this, but don’t remember what it is, and do remember that I can just press up 30-70 times…
you can hit it again after you are dialed in as much as you want and it will keep going back in time with the words you have in there and stuff that matches!
This. It took a while for it to sink in but now it’s muscle memory and a huge time saver
What now? What is r? How does this work?
CTRL+R brings up a prompt and allows you to search through commands you’ve run before. If you’ve run different variations of the command hitting CTRL+R or CTRL+SHIFT+R cycles through commands similar to what you’ve typed out.
I’m new to linux and i’ve been using $history | grep <thingy>. This information is very useful, thank you.
Sure thing! There’s lots of ways to do the same things, but either way stops you from hitting the up key a bajillion times
fzf masterrace
This is why I switched to fish; it seems to be much smarter understanding what I want to type.
Yeah it’s great how ctrl-r is kinda the default instead of something you have to go out of your way to use. Just start typing a command and the up arrow will only cycle through history that matches what you’ve typed so far.
Idk exactly what plugin it is, but zsh + oh my zsh has exactly this same thing. So hard to live without now that I’m used to it. Probably my favorite feature
That is default zsh history search, pretty nice.
Oh is it just a setting then? I remember using plain zsh and it didn’t have that functionality until I installed omz, but I could see it being an option that omz enables on install.
I think that it is.
Yeah it’s great how ctrl-r is kinda the default instead of something you have to go out of your way to use. Just start typing a command and the up arrow will only cycle through history that matches what you’ve typed so far.
Yeah it’s great how ctrl-r is kinda the default instead of something you have to go out of your way to use. Just start typing a command and the up arrow will only cycle through history that matches what you’ve typed so far.
It’s like the bus-stop-paradigm: If I wait just a bit longer and it will come. Meanwhile it would’ve been faster to walk.
To anyone who uses vim mode,
?
lets you search through your stored command history, from normal mode ofc.Using the history command just to find the specific IP I need to ssh to
More like to find ping -O 8.8.8.8
up, up, up, up, up, cd …, ah there it is.
I create so many aliases with the notion of how much time I’ll save… never use ‘em. Works out okay though because a much richer history to fzf through
“python3 -m http.server”
This is the way!
It’s even faster if you look for it inside .bash_history.
deleted by creator
This is my approach, and for those who don’t know, you can use those line numbers that come back from
history
to rerun the command. Like if your output is something like this:$ history | grep tmp 501 ls /tmp 502 history | grep tmp
You can run
!501
and it will just re-runls /tmp
Yall are missing out on autocomplete.
deleted by creator
I got that as
hgrep
deleted by creator
Yeah but last time I typed it, it worked. Who knows what ridiculous typos I’d make right now?
I just use the ‘fuck’ command after lazily typing letters that somewhat match the command I want to run