Search Bash History

history | grep ssh

To see the most recent commands:

history 7

Executing Commands from Bash History

Record 89 in your history


Two commands ago


Rerun the previous command


Rerun the previous command as sudo

sudo !!

Run the previous command and make a substitution


Update your record keeping

Open your ~/.bashrc file and change or add these settings:

shopt -s histappend
alias h="history"

This will keep the last 5000 commands in memory, and the last 10000 lines on disk. It will also append to the Bash history file instead of overwriting it. The new h alias means we can just type h | grep ssh intead of using the entire command.

Make searching more intuitive

History searching with arrow keys

"\e[B": history-search-forward
"\e[A": history-search-backward

Shortcut for grepping

Grep for a word or phrase and remove previous instances of searching

alias h="history | grep -E -v '^ *[0-9]+ *h ' | grep "

Use an additional tool

Perhaps a way to keep EVERYTHING

HISTFILE="${HOME}/.history/$(date -u +%Y/%m/%d.%H.%M.%S)_${HOSTNAME_SHORT}_$$"