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

我最近从13.04升级到13.10并且意识到我的终端bash历史记录没有重新启动。

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

我,可能是不必要或错误的,发出了一个chmod 777 ~/.bash_history来看看这是否会有所帮助……虽然我可以chmod 777 ~/.bash_history并阅读一些内容但它包含的历史并不多。

在读取bash历史未被保留之后,我也尝试了sudo rm ~/.bash_history

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

是否有存储bash历史的新地方? 如何删除〜/ .bash_history不能摆脱以某种方式挥之不去的命令? 我不确定,但我相信我的root bash历史是正常的。 我的用户bash历史记录正在给我带来麻烦。 任何有关追踪和解决此问题的帮助和指导表示赞赏。

更快,而不必摆弄chown和chmod:

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

 sudo rm ~/.bash_history touch ~/.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修复的问题。 你应该完全停止使用该权限集,直到你完全意识到这些含义。

听起来很可悲,这在重启后解决了。 我不确定这意味着什么,我讨厌提供这样一个通用解决方案的解决方案。 在删除并重新创建~/.bash_history之后可能需要重新启动我不知道为什么我无处可读这是一个要求。 如果我发现更具体的内容,我会发布我的发现。

安装Ubuntu 13.10后遇到了同样的问题。 我注意到历史以root身份运行,在我运行之后:

chmod 0777~ / .bash_history

问题立即得到解决。