Bash History 不包含所有历史记录且重启后为空白,如何解决?

Bash History 不包含所有历史记录且重启后为空白,如何解决?

我最近从 13.04 升级到了 13.10,并发现我的终端 bash 历史记录在重启后无法保留。

cat ~/.bash_history给了我一个权限被拒绝的错误。

我可能不必要或错误地发布了一份chmod 777 ~/.bash_history来看看是否有帮助……尽管我可以cat阅读一些内容,但就历史而言,它并不包含太多内容。

我也尝试过sudo rm ~/.bash_history阅读bash 历史记录未保留

奇怪的是,在这样做之后,我输入了一些测试命令,,ls...ls -lah并按下向上箭头返回历史记录,它包含这两个命令以及过去某个遥远时间的奇怪历史记录,但结果很少,而不是我当天早些时候输入的数百条命令。

有没有新的 bash 历史记录存储位置?删除 ~/.bash_history 怎么会无法摆脱那些不知为何而残留的命令?我不确定,但我相信我的根 bash 历史记录运行正常。我的用户 bash 历史记录才是导致我出现问题的根源。任何有关追踪和解决此问题的帮助和指导都将不胜感激。

答案1

跑步:

sudo chown bob:bob ~/.bash_history && chmod 660 ~/.bash_history

答案2

正确的解决方案是确保.bash_history文件的正确权限

  • 使用“id”工具获取您的用户和组信息。输出应如下所示:uid=1000(myuser) gid=1000(mygroup)
  • 更改文件的所有权:sudo chown myuser:mygroup ~/.bash_history
  • 更改文件的权限:sudo chmod 0644 ~/.bash_history

外面/tmp问题已chmod 777解决。您应该完全停止使用该权限集,直到您完全意识到其后果。

答案3

甚至更快,无需摆弄 chown 和 chmod:

以未保存历史记录的用户身份登录:

sudo rm ~/.bash_history
touch ~/.bash_history

确保不要在上面两个命令之间输入任何命令

答案4

软件更新后您可能遇到此问题。

我一直在等待更可靠的 bash5 版本来尝试它,但 Ubuntu 软件更新也在等它......然后通过软件更新为我安装了它。

大约从那时起,我已经把我的珍贵的马大小的长东西.bash_history彻底清理干净了……

显然,.bash_history我有时会备份一些东西,就像他们同步浏览器历史记录一样。特别是如果你使用相同的 Linux 发行版。

相关内容