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
….
41 g++ prime1.cpp
42 ./a.out
43 ssh ankit@delta
44 scp ~/Desktop/passport.jpg ankit@delta:
45 man expr
46 iptab
47 history

….

996 ping intrarouter.delta.nitt.edu
997 ssh ankit@intrarouter.delta.nitt.edu
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

One Comment

  1. Thanks for the nice article .


Post a Comment

*
*