Repeat last shell command that started with a particular word

by on July 8, 2007 · 2 comments· LAST UPDATED July 8, 2007

in , ,

Bash / CSH shell offers command history feature. Most of you may be aware and using of UP / DOWN arrow keys to recall previous commands. History expansions introduce words from the history list into the input stream, making it easy to repeat commands, insert the arguments to a previous ommand into the current input line, or fix errors in previous commands quickly.

To repeat last command that started with bar word type i.e. refer to the most recent command starting with string bar):
! bar

For example, let us run lighttpd to test config file:
# /usr/sbin/lighttpd -t -f /jail/usr/local/etc/lighttpd/lighttpd.conf
Output:

Syntax OK

Type few commands:
# pwd
# date

Now to repeat last command that started with lighttpd word type
# !lighttpd
Output:

lighttpd -t -f /jail/usr/local/etc/lighttpd/lighttpd.conf
Syntax OK 

Want to refer to the previous command, just enter
!!

Related shell tip

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 2 comments… read them below or add one }

1 devnet July 9, 2007 at 6:33 pm

I also like to use Control-R to do a search of my history file to find commands that may not have been the last one that I ran.

Control-R will bring up a search dialogue where I can type in one part of my command…say, a package name or other, and it will find it and select it again. This speeds up remembering that one command you did last week :D

Reply

2 nixCraft July 9, 2007 at 7:07 pm

devnet,

Ah, I forgot about magical CTRL+R.

Appreciate your post!

Reply

Leave a Comment

Tagged as: , , , , , , , ,

Previous post:

Next post: