When I run history in Bash, I get a load of results (1000+). However, when I run history the zsh shell I only get 15 results. This makes grepping h
#set history size
export HISTSIZE=10000
#save history after logout
export SAVEHIST=10000
#history file
export HISTFILE=~/.zhistory
#append into history file
setopt INC_APPEND_HISTORY
#save only one command if 2 common are same and consistent
setopt HIST_IGNORE_DUPS
#add timestamp for each entry
setopt EXTENDED_HISTORY
this is my setting, and it work
NVaughan (the OP) has already stated the answer in an update to the question: history behaves differently in bash than it does in zsh:
In short:
history lists only the 15 most recent history entrieshistory 1 lists all - see below.history lists all history entries.
Sadly, passing a numerical operand to history behaves differently, too:
history <n> shows all entries starting with <n> - therefore, history 1 shows all entries.history -<n> - note the - - shows the <n> most recent entries, so the default behavior is effectively history -15)history <n> shows the <n> most recent entries.history doesn't support listing from an entry number; you can use fc -l <n>, but a specific entry <n> must exist, otherwise the command fails - see below.)Optional background info:
history is effectively (not actually) an alias for fc -l: see man zshbuiltins
man zshallhistory is its own command whose syntax differs from fc -l
man bashfc -l <fromNum> [<toNum>] to list a given range of history entries:
<fromNum> must exist.fc -l 1 works in zsh to return all history entries, whereas in bash it generally won't, given that entry #1 typically no longer exists (but, as stated, you can use history without arguments to list all entries in bash).