Ctrl + p is the way.
… And waste an opportunity to type on my ludicrously expensive mechanical keyboard?
FRIG no
If I haven’t ran it in a while or I don’t know it by heart then I ‘nano /home/mehblah/.bash_history’
I do
history | grep keyword
.
Ctrl + R and start typing the command, it’ll come up, press enter. Im just more lazy because I know there are still faster ways.
Edit: instead of hitting enter, keep pressing ctrl + R to cycle through history commands that contain what you typed in
Note: if the above isn’t working, you may need to first set your shell to accept emacs commands:
set -o emacs
Oh my freaking god thank you
You’re in vim, you forgot to sudo, the file is read only and you have loads of changed you don’t feel like saving off to /tmp and playing the copy file shell game.
[esc]:w !sudo tee %
it shoves the current buffer through tee (termina adapter) with sudo privs vim will warn you that the file changed, just [esc]:q! and don’t let it save, you already saved it.
I don’t see how this is relevant but thanks for the tip.
I offered one for !ssh, then noticed people were giving other obscure tips so i offered this one.
Fuck that hits so hard.
Care to explain to an uninitiated?
Every time you hit the up arrow, it shows the previous command you used in the terminal.
So hitting the arrow once gives your last used, hitting it twice gives your second to last command, and so on.
Yup and that is me. I could just history grep the command I want but I SWEAR it was just 2 commands ago, or 15 up arrows. lol.
Ohhh! I can absolutely relate to this as well! Using a zmud client to play games on. which is probably not much different, looking, than a terminal anyways
Multi user dungeon? What do you play?
Why are you making personal attacks against me.
!ssh
run the last command that started with ssh
I… Well… Thank you !
It’s as amazing as it is dangerous :) use with care!
Ah crap how did I set my battery charge interval again?
history | grep battery
history | grep bios
history | grep sudo smbios
Ah! There you are you little shit!
edit to add: Actually, I think the last time I did this I remembered some numbers I set it to before. So it worked well with something like “history | grep 75” even though there were a bunch of results.
Is there a good way to do this when you use a lot of terminal tabs and aren’t sure which tab you used for the command you’re looking for?
if you close all the terminal tabs and do ctrl+r on a new one it will search all of the ones you closed
Guilty!
Ctrl r
Almost, ctrl+R, ⬆️⬆️⬆️⬆️⬆️⬆️⬆️
The worst is when you remember doing something before, but don’t remember enough details to be able to effectively search for it.
Although, even then, I’m not going to just mindlessly hit “up”. Last time it happened I fed my command history through grep and removed all the things that I knew the command wasn’t. Just removing “ls” and “cd” from your history cuts the number of commands down by 80% or something.
Check out the fzf shell bindings. Reverse history search with fuzzy matching is one of the features.
That doesn’t help when you remember what effect the command had but nothing about what the command itself looked like.
history | grep thethingyou'relookingfor
deleted by creator
Blasphemy
I see everyone posting about Ctrl+R, here’s a couple more useful CLI shortcuts you might enjoy:
cd - (change directory to $OLDPWD usually the previous directory)
git checkout - (similarly checkout the previous branch)
Ctrl+A (return caret to beginning of command, great when you forgot a positional argument and you were almost done typing the command)
Ctrl+E (similar to Ctrl+A but move to the end of the command)
Ctrl+A, Ctrl+E
Many more basic Emacs keybindings work, actually! Including C-f, C-b, C-p and C-n (if you prefer them over arrow keys) as well as M-f and M-b to move by words, C-k, M-d and C-y for killing/yanking (but not M-w) and C-SPC, C-w, C-x C-x for region manipulation (tested in Bash and ZSH)
Ctrl+L to clear the terminal screen, instead of typing clear
Also Ctrl-u to clear the command line.
Not super into that since I’ve found all it does (at least in zsh) is print a bunch of blank lines
Nah just save all your commands in a text file on the desktop then make an alias to open it in nano so you just have to type “com”. Works for dumb ol me
Why not just make the alias command cat the file instead?
Edit: I wrote grep instead of cat
I’ll look into that
More like ⬆️⬆️⬆️⬆️⬆️⬆️ mother fucker ⬇️
⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️
CTL+C
history
history | less
⬆️⬆️⬆️
Pg-up
…
Pg-up
…
q
! 2648