当我上课时,有些学生无法遵循我的 CLI 命令,他们希望回滚以便能够按照自己的速度重复这些步骤。因此,我希望将所有输入实时记录到 html 文件或类似文件中,我可以通过网络服务器提供这些文件。这样,学生就可以直接访问http://example.com/log#结束并且总是会看到最后的条目。
我确实知道的多用户模式,screen
并且已经使用它来共享会话。但是,我需要禁用学生的写入权限,不幸的是,如果我这样做,他们就无法向上滚动。
我也查看了script
,但它生成的输出非常糟糕,即使经过过滤也col -bp < logfile >> output.html
难以阅读。此外,它还会记录输出,这使事情变得复杂,并且只会在不可预见的时间间隔内转储日志文件。
.bash_history
可以使用,但仅在会话结束时才会转储到文件中。
有任何想法吗?
答案1
使用内置命令history
:
history -w hist.txt
将把当前历史记录保存到文件 hist.txt 中。
如果您对相应的目录具有写权限,您可以执行以下操作:
history -w /var/www/html/latest_history.txt
然后您的学生可以通过浏览器访问它:http://teachers.ip.address/latest_history.txt