Check command history, but avoid running it

!whatever:p
!whatever will search your command history and execute the first command that matches 'whatever'. If you don't feel safe doing this put :p on the end to print without executing. Recommended when running as superuser.

196
By: jonty
2009-02-05 21:39:39

What Others Think

not working on my ubuntu machine or mac.
cowholio4 · 846 weeks and 2 days ago
Pressing +r then start typing the command will show you live updates of the history as you type. You can also use the up and down arrows to find the one your looking for.
pkkid · 846 weeks and 2 days ago
@cowholio4: i got it working with both ubuntu and os x; you did not actually type in !whatever:p did you?
p3k · 846 weeks and 1 day ago
Works on Opensuse 11, very cool!
Williebee · 846 weeks ago
looklike it works, but may be batter to cat .bash_history? or I`d just not understand the true meaning of this thing
GreyCardinal · 845 weeks and 5 days ago
Oh! understood! ubuntu 8.10 -works debian etch - no -:(
GreyCardinal · 845 weeks and 4 days ago
@p3k hahah.... thanks. Still i prefer control + r
cowholio4 · 844 weeks and 6 days ago
I can only think that the :p means "just kidding about re-executing it" :)
Buzzcp · 836 weeks and 5 days ago
ctrl+r works better and everywhere.
oringo · 833 weeks and 5 days ago
... or you could just set histverify ("shopt -s histverify") and be done.
akg240 · 816 weeks and 3 days ago
On ubuntu also: history|grep whatever That will show every time in your history file the command has been called rather than just the last time.
magikid · 798 weeks and 3 days ago
Agree with C-r
Erus · 789 weeks and 2 days ago
use bash lusers! pkkid is right!
buzzy · 782 weeks and 4 days ago
To those who say Ctrl-R works everwhere, try running Ctrl-R on csh/tcsh, or ksh, Ctrl-R only works on bash and Z shell. While !search:p works on many more, also it is more continent to type a simple command in than to use a shell feature, as you can use it in a string of commands.
Chartreuse · 780 weeks and 6 days ago
function hg(){ history | grep $1; } Then "hg command" will print all previous commands
quincymd · 776 weeks and 5 days ago
it works fine like this: 1. type echo hello then you have it in your history. now you can type: !echo and you get "echo hello" in your commandline with the cursor at the end, so you can edit it before you commit it or you press ^C to cancel very useful!
rubo77 · 757 weeks and 3 days ago
iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick | iptv subscription | iptv instant delivery | iptv premium | iptv europe | iptv deals | iptv firestick |
xafanih532 · 45 weeks and 6 days ago

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands



Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: