There are three totally wonderful things you can do to enhance the utility of your `.bash_history` file. Add this block to your `.bashrc`: # Keep 10,000 commands worth of history export HISTSIZE=10000 # Make 10,000 lines more awesome by erasing duplicate commands export HISTCONTROL=erasedups # Don't lose command history from across many sessions shopt -s histappend By itself, the last option appends that particular bash process' history to `.bash_history` at the end of the session. But combined with the `HISTCONTROL` option, it's more like an intelligent 'merge' than a senseless append. Neato! Recursive searches with `Ctrl + r` will be *much* better from now. ### Other stuff you could do To see your history file, you can either `vi` it like a caveman, or be a hip 80s dude by issuing this: history Here's sample (truncated) output: 873 cat smbd.log 874 service smb status 875 netstat -tulpn 884 find /media/pool02/asap -type d | sort | grep '\<[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}T[0-9]\{2\}\.[0-9]\{2\}\.[0-9]\{2\}\>' 891 eval ssh tigris "df -h" | grep -c / | sed "s/./ &/g" 902 date Now I can just run that long `find` command by merely issuing: !884 You can actually merge histories across two or more 'live' sessions by hand: history -a; history -n I've read of people having this happen automagically by setting the `PROMPT_COMMAND` variable to the snippet above. Setting this variable executes its value before each new prompt. PROMPT_COMMAND="history -a; history -n" - `history -a` appends local history changes to `.bash_history` - `history -n` fetches changes from `.bash_history` This has not worked for me on CentOS; YMMV. ### Clearing History history -c && rm -f ~/.bash_history This is because `bash` stores history in memory and in a file. ### History with Timestamps export HISTTIMEFORMAT="%F %T "