control shift R, then start typing, it will search your bash history
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.
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
Ok if you want to learn Linux, you need to start web searching for stuff you hear about. :)
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
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
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!
I recommend using mcfly for that, it makes it even better.
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
Why r? Maybe if I knew why r, then I wouldn’t forget this every 13 seconds…
Reverse search
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
history | grep 'command'
I use this all the time. Even better if you add it as a function.
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
Woah! I had no clue!
Yall are missing out on autocomplete.
I love autocomplete, use it all the time.
I got that as
hgrep
Mine is
hists
for ‘history search’. Interesting how we came up with different names for the same thing.
didn’t know there was a comment for that, I just always used cat to read the bash history file
Wait until you learn about ctrl-R to search the bash history… :) If you press that and start typing, you will get auto complete from previous commands you typed. This is how an experienced linux user can be so fast in the terminal.
There are even better tools for this, so ctrl R is just the built in way. Later you should look into https://github.com/junegunn/fzf
grep
is sooo useful. Combined with piping commands it can do some really powerful stuff. I didn’t really understand a lot of these commands until I took a Linux class at my local community college. That helped a lot.
deleted by creator
up, up, up, up, up, cd …, ah there it is.
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.
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
To anyone who uses vim mode,
?
lets you search through your stored command history, from normal mode ofc.It’s even faster if you look for it inside .bash_history.
Still noup
I use Fish and it’s super convenient. To be honest I don’t think I could ever use the terminal if I had to just use Bash.
Same. Look at all these people using grep to search their history.
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
We will history | grep docker until morale improves
Gah it’s all
docker container ps -a
. OK, fine,history | grep "docker run"
.Next time I’ll put a file in the project directory that tells me how I ran it and .gitignore it. I promise. Next time.