How To Search Shell Command History
Q. How do I search old command history under bash shell? How do I display or modify previous commands?
A. Almost all modern shell allows you to search command history if enabled by user. Use history command to display the history list with line numbers. Lines listed with with a * have been modified by user.
Shell history search command
Type history at a shell prompt:
$ history
Output:
Sample output:
6 du -c
7 du -ch
8 ls [01-15]*-2008
9 ls -ld [01-15]*-2008
10 ls -ld [1-15]*-2008
11 ls -ld [0]*-2008
12 ls -ld [01]*-2008
13 rm -vrf [01]*-2008
14 du -ch
15 ls
16 cd
17 umount /mnt
18 df -H
19 vnstat
20 yum update
21 vnstat -m
22 vnstat -m -i eth0
....
...
996 ping router.nixcraft.in
997 ssh vivek@p1.vpn.nixcraft.in
998 alias
999 ~/scripts/clean.rss --fetch
1000 vnstat
1001 ~/scripts/clean.rss --update
To search particular command, enter:
$ history | grep command-name
$ history | egrep -i 'scp|ssh|ftp'
Emacs Line-Edit Mode Command History Searching
To get previous command containing string, hit [CTRL]+[r] followed by search string:
(reverse-i-search):
To get previous command, hit [CTRL]+[p]. You can also use up arrow key.
CTRL-p
To get next command, hit [CTRL]+[n]. You can also use down arrow key.
CTRL-n
fc command
fc stands for either "find command" or "fix command. For example list last 10 command, enter:
$ fc -l 10
To list commands 130 through 150, enter:
$ fc -l 130 150
To list all commands since the last command beginning with ssh, enter:
$ fc -l ssh
You can edit commands 1 through 5 using vi text editor, enter:
$ fc -e vi 1 5
Delete command history
The -c option causes the history list to be cleared by deleting all of the entries:
$ history -c
E-mail this to a friend
Printable version
Related Other Helpful FAQs:
- Linux and UNIX view command-line history
- Clear Linux / UNIX BASH Shell Command Line Cache / History
- Clear mysql command line history stored in ~/.mysql_history file
- Linux / UNIX: Clear bash history
- FreeBSD Display Environment Settings
Discussion on This FAQ
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!
Tags: alias, BASH Shell, command history, emacs, fc command, history command, history search, mode command, search command, search string, shell history command, shell history search, type history




March 7th, 2008 at 9:07 pm
hopefully looking for some tricks
March 9th, 2008 at 5:45 pm
To run a command whose number you know…
!203
Runs the 203rd command in history
March 10th, 2008 at 5:23 pm
You can press + and type some command:
For example
‘+ cd’
immediately apear the last command that match with ‘cd’ if you press + again, you can brows trough all the cd commands you has entered in your history