Когда вы открываете терминал bash, он загружает содержимое ~/.bash_historyи создает историю активной оболочки (в ОЗУ), добавляя к ней все команды, выполняемые в этой оболочке, - и только к нему, а не к файлу.
Только когда вы закрываете bash-терминал, его история добавляется в ваш ~/.bash_historyфайл.
Варианты history:
history -a # save the active shell's history to ~/.bash_history (appending)
history -c # clear the active shell's history
history -d NNN # delete row NNN of the active shell's history
history -r # reload the active shell's history from ~/.bash_history (appending)
history -w # save the active shell's history to ~/.bash_history (overwriting)
Опции для ~/.bashrcфайла
Если вы хотите изменить это поведение так, чтобы временная история сохранялась ~/.bash_historyнепосредственно после выполнения команды, добавьте эту строку:
PROMPT_COMMAND="history -a"
Если вы дополнительно хотите, чтобы каждый терминал автоматически загружал ~/.bash_historyфайл после каждого выполнения команды, добавьте эту строку:
PROMPT_COMMAND="history -a; history -c; history -r"
Если вы хотите исключить определенные команды (например, все, начинающиеся с sudoи cat) из сохранения, добавьте эту строку:
HISTIGNORE="sudo*:cat*"