Bash:我可以使用什么命令将当前终端窗口的全部内容重定向到文本文件?

Bash:我可以使用什么命令将当前终端窗口的全部内容重定向到文本文件?

假设,自从第一次打开窗口以来(或者自从上次使用“清除”命令以来),我的终端会话中就有一堆文本,而这些正是我想要的文本文件中的内容。

除了手动“全选”并从我的终端窗口复制然后粘贴到文本编辑器中以获取“快照”之外,执行所有这些操作的命令等效于什么?

答案1

看来脚本命令可能是你的朋友,但你需要以这种方式开始:https://askubuntu.com/questions/216322/how-can-i-capture-text-from-a-specific-terminal-and-redirect-it-to-a-log-file-wh 或者从 man script script 中打印出终端上打印的所有内容。对于需要交互式会话的硬拷贝记录作为作业证明的学生来说,这很有用,因为稍后可以使用 lpr(1) 打印出打字稿文件。

   If  the  argument file is given, script saves all dialogue in file.  If no file name is given, the
   typescript is saved in the file typescript.

答案2

这取决于您的终端仿真器。

如果您使用 KDE konsole,您可以Save Output As...在菜单中使用File。 (默认情况下,没有键盘快捷键,但您可以使用CtrlShiftF10后跟a。)

如果您使用,您可以在菜单下gnome-terminal使用 选择整个回滚(同样,没有默认快捷方式)。然后您可以使用实用程序(或等效工具)将选择转储到文件中。Select AllEditxsel

xterm(至少,安装在我机器上的版本)有一个print-immediate()操作,可以从主菜单触发。默认情况下,它会将整个回滚以及当前可见的窗口发送到一个XTerm以附加时间戳命名的文件。文件名前缀可以用资源设置printFileImmediate,保存的数据受printModeImmediateprintOptsImmediate资源的影响。

或者,您可以选择所有文本,然后使用xsel上述技术,但我不知道使用来选择全部的便捷方法xterm

另请参阅:man xterm man xsel以及konsolegnome-terminal或您通常使用的终端仿真器的相关文档。

相关内容