我最近从 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 发行版。