我正在尝试查看我输入的所有命令及其输出。我知道我可以使用"历史记录"来查看我最近的所有命令。但是,有没有一种方法可以检查这些命令以前的输出?我试着查了一下,但似乎没有办法。
它只存储您运行的命令的历史记录(您可以通过键入history
来检索(。除非您已经将向后滚动设置为一个非常高的数字,否则无法查看比向后滚动设置值旧的输出。此外,将该值设置为一个非常高的数字将使滚动缓慢,因为行存储在内存中。Cloud Shell使用Tmux,默认情况下它有2000行的向后滚动缓冲区。
要存储您未来的命令及其输出,有几个选项:
使用screen
输入screen
启动屏幕会话。进入"屏幕"后,按Ctrl-a,然后按:,然后输入log
。所有I/O都将捕获在启动screen
命令的目录中的screenlog
文件中。
使用script
您可以从键入script
开始。将启动一个脚本会话,该会话将捕获名为typescript
的文件的所有I/O。您可以通过Ctrl-d退出script
会话,并查看typescript
文件中的日志。
使用tee
tee是一种方便的工具。你可以这样做:
$ tmux | tee log.txt
这将在您已经运行的bash shell中打开一个新的bash shell。当您从中exit
时,您可以在名为log.txt
的文件中看到输出
其他方式
正如Dustin Kirkland在这篇文章中建议的那样,你也可以使用byobu。尽管如此,我从未使用过像Shelr这样的终端屏幕播放工具,这听起来也是一种选择。
其他方式
要运行的Cloud Shell命令以及解释更多信息的链接。这将退出终端,从而删除所有向后滚动缓冲区,将其重置为空,但将来它将节省5000行,而不是2000行。
$ tmux show-options -g | grep history
history-limit 2000
$ echo "set -g history-limit 5000" >> ~/.tmux.conf
$ exit
$ tmux show-options -g | grep history
history-limit 5000
如果您键入…
$ man tmux
…您可以找到此设置的文档(通过键入"/history limit"+(输入(进行搜索(。
"历史记录限制行"设置窗口历史记录中包含的最大行数。此设置仅适用于新窗口-现有窗口历史记录不会调整大小,并保留创建时的限制。