Когда вы открываете терминал 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*"