如何启用shell命令历史记录

如何启用shell命令历史记录

我使用的是 ubuntu 13.04,在这个版本中,shell 的命令历史记录在关闭时会被删除。

有人可以告诉我如何防止这种情况发生吗?

答案1

在 Bash 提示符处,键入以下命令并执行每条命令后列出的步骤:

set -o | grep history

如果您得到“历史记录关闭”,请在您的末尾添加此行~/.bashrc

set -o history

下一步尝试:

echo $HISTFILE
echo $HISTSIZE
echo $HISTFILESIZE

如果第一个为空或/dev/null,请将此行添加到您的末尾~/.bashrc

HISTFILE=$HOME/.bash_history

如果最后两个中的任何一个打印 0,请将它们设置为某个数字,例如默认值 500:

HISTFILESIZE=500
HISTSIZE=500

source .bashrc保存后别忘了~/.bashrc

答案2

我刚刚遇到的另一个可能的问题是您的.bash_history文件可能由 root 用户拥有:

$ ls -l $HISTFILE
-rw------- 1 root root 9558 Jun 21 21:56 /home/ubuntu/.bash_history

解决方案是将chown其返回给您的用户和组:

$ sudo chown ubuntu:ubuntu /home/ubuntu/.bash_history
$ ls -l $HISTFILE
-rw------- 1 ubuntu ubuntu 9558 Jun 21 21:56 /home/ubuntu/.bash_history

相关内容