![类 Unix 命令行 shell:获取完整的命令输入/输出历史记录](https://linux22.com/image/1355729/%E7%B1%BB%20Unix%20%E5%91%BD%E4%BB%A4%E8%A1%8C%20shell%EF%BC%9A%E8%8E%B7%E5%8F%96%E5%AE%8C%E6%95%B4%E7%9A%84%E5%91%BD%E4%BB%A4%E8%BE%93%E5%85%A5%2F%E8%BE%93%E5%87%BA%E5%8E%86%E5%8F%B2%E8%AE%B0%E5%BD%95.png)
我在寻找是否有某种流畅的方法(即,不是我为 shell 编写包装器)来获取我在命令行 shell 中输入的所有内容以及输出的所有内容的完整日志。我经常摆弄各种软件,这似乎是一种追溯我的步骤的好方法。
我使用 zsh,但我也欢迎解决方案,即使它们恰好是 bash(或其他 shell)特定的。
谢谢!
答案1
你可能正在寻找ttyrec
它记录整个控制台会话的输入和输出,并允许您回放。
答案2
查看 sudosh。SourceForge 页面的链接是:这里
(甚至可能有一个包,取决于你的 repos/disto)
您可以“sudosh”进入 shell,该会话的所有内容都会被记录下来。所有 sudosh 会话都会被记录并保存,并自动附加日期和时间戳。
(你甚至可以 grep/搜索 sudosh 录音的内容)
然后,您可以使用 sudosh-replay 播放 shell 会话的录音,就像您实时观看它发生一样。
答案3
您可以使用screen
(或tmux
)并启用日志记录。
screen -L
答案4
script
做你想做的事。
脚本将终端上打印的所有内容制作成打字稿。