从历史记录中恢复已删除的命令?

从历史记录中恢复已删除的命令?

如果有人从 shell 历史记录中删除命令,有什么方法可以在 Linux 中恢复这些删除的命令吗?

答案1

作为$disk包含历史文件的磁盘或分区,并且$cmd是您记得在所述历史记录中的命令的一个非常独特的部分,并且100是您历史记录中的命令总数,那么也许

strings -w "$disk" | grep -C 100 "$cmd"

会发现它的一些片段。条件是历史文件被删除或截断,但未就地覆盖或修剪/丢弃。

strings从原始设备中提取所有人类可读的字符串。 grep搜索它们并使用该-C选项还提供上下文行。

如果您正在寻找其他人的历史记录,那么您毕竟不知道任何命令......那么也许您可以 grep for ^cd \.\.$.这是一个出现在大多数历史记录中的命令(至少,如果用户正在浏览目录)。同时它在脚本中很少使用。

相关内容