≡ Menu

Repeat last shell command that started with a particular word

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

Syntax OK

Type few commands:
# pwd
# date

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

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

Want to refer to the previous command, just enter

Related shell tip

Tweet itFacebook itGoogle+ itPDF itFound an error/typo on this page?

{ 2 comments… add one }

  • devnet July 9, 2007, 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

  • nixCraft July 9, 2007, 7:07 pm


    Ah, I forgot about magical CTRL+R.

    Appreciate your post!

Leave a Comment