执行命令后,是否可以将命令的输出保存到文件中?


13

在终端窗口打开时,即在终端中执行了命令之后,在命令运行后将命令输出保存到文件中,是否存在一种优雅的方法?

输出仍然存在于端子中。现在,我可以复制并粘贴所有行并将其保存到文件中。

但是也许存在一种以某种方式将终端窗口的输出缓冲区写入文件或者甚至更好地将已执行命令的输出写入文件的方法吗?


应该有一个到gnome-terminal的补丁程序来完全做到这一点-将回滚缓冲区保存到文件中。它在某个地方,但是我找不到它实际集成到的gnome-terminal版本。我相信它就像是文件菜单中一个简单的“保存到文件”选项。
belacqua

@belacqua您是否曾经设法找到补丁版本?
Dmitry Pashkevich

Answers:


7

您似乎有很多选择,但是gnome-terminal不支持单独记录到文件。

  • 您可以script在输出之前运行命令以完成此操作。有关更多信息,请参见此Launchapd问答

  • 您可以安装并使用其他终端而不是gnome-terminal,该终端支持将所有输出记录到文件中,例如Putty。可能还有其他。

  • 您可以仅突出显示所需的文本输出,然后使用CTRL-SHIFT-C复制文本。


1
另外:到目前为止,我发现,用于此目的的好工具是屏幕或tmux。
NES

1
@NES如果屏幕正常,byobu可能也是如此。Dustin Kirkland(Ubuntu核心开发人员之一)已致力于改善该软件包(在回购协议中)的屏幕。尽管我最近没有使用过-通常是终结符。
belacqua

3
Edit->Select All在gnome终端中可以帮助您突出显示缓冲区中的所有内容
Dmitry Pashkevich

6

如果您正在寻找一种将命令输出保存到文件中并在终端中显示的方法,请使用tee命令。

command | tee filename

命令的输出显示在终端以及文件中。


1
不完全是我的意图,但这也很有帮助。谢谢
NES

1
这完全是OP所要求的,但是您为我节省了巨大的精力!谢谢!=)
马拉巴(Malabarba
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.