我一直在使用我的Mac(dev / prod)中的两个终端窗口,两个窗口都显示了过去6个月工作的命令和结果历史记录(向上滚动),这对于运行定期命令非常有帮助检查过去的错误。
昨天我关闭了我的Mac并手动关闭了两个终端窗口,但是今天打开终端时根本没有历史记录。有一种方法可以恢复具有过去命令及其结果的所有历史记录的窗口吗?
我知道有一个.bash_history文件,但它只显示键入的命令但不显示结果 提前谢谢。
答案 0 :(得分:1)
Bash的历史记录只存储已执行的命令,而不是它们的输出,并且只存储有限数量的命令(通常为500,由环境变量HISTFILESIZE
定义)。这对你的情况没有帮助。
从我所看到的,终端存储似乎在目录/Users/<user>/Library/Saved Application State/com.apple.Terminal.savedState/
内保存窗口的状态(包括控制台历史记录)。只要在终端窗口中发生新事件,就会实时修改此目录中的文件,除非我弄错了,否则应包含在Time Machine备份中。因此,似乎如果您可以从某些以前的备份还原此目录中的文件,则应该恢复您的历史记录。您甚至可以在该目录中尝试一些“文件取消删除”工具,尽管这些工具在OS X上相当罕见。
此过程应该是您首先退出终端,然后恢复整个目录(例如使用Time Machine),然后只需启动终端。这些保存的状态文件使用自定义二进制格式,除了终端程序本身之外,您无法读取它。
顺便说一句,值得一提的是,您可以随时从Shell菜单中将终端窗口的内容保存到文本文件中。考虑到您的终端的历史似乎具有一些重要的价值,您可以考虑在将来定期进行此操作......