首页 > 解决方案 > 从当前 bash 会话中恢复“原始”历史记录

问题描述

通过运行一个没有我的任何配置(它是 vanilla)的 shell,我设法将我的 bash 历史文件截断为 500 个条目。

我意识到这大约 300 个命令为时已晚,但幸运的是我在截断之前打开了一个会话。 history在那个会话中给了我我的“删除”历史,但它是这种格式:

  449  05/07/21 02:04:03 ncdu

前 300 个条目是截断的文件,而不是原始的 300 个。

我认为实际的 300 个条目必须存储在某个地方。我如何获得它们?我只有一次与旧历史的会话。

此外,如果可能的话,我想以以下格式获取以前的历史记录:

#1635749826
ll

标签: bashshellhistoryrecover

解决方案


history -ahistory将使用当前会话的命令返回的历史记录覆盖您的 bash 历史记录文件。

您需要复制当前的 bash 历史记录,然后可以将其附加到原始文件中。

但是,它不会带回前 500 个条目。

感谢@markp-fuso 提供此解决方案。


推荐阅读